Android

Android保存App异常信息到本地

2020-08-17
本文实例为大家分享了Android保存App异常信息到本地的具体代码,供大家参考,具体内容如下 首先添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 代码 // 调用该方法造成异常 private void math() { try { int a = 0; int b = 10; int c = b / a; } catch (Exception e) { e.

Android实现类似ios滑动按钮

2020-08-17
IOS的滑动按钮菜单在UI设计里面绝对堪称一绝,在学习了Android的自定义view后,我萌生了模仿它的想法. 实现上面的模拟需要自定义一个View; 1).在View的OnDraw里画出圆角矩形,分别为灰色圆角矩形,红色圆角矩形,和绿色圆角矩形.然后计算相应的位置. 2).本例中的宽高比为1:0.65,内部红色矩形尺寸为外部矩形尺寸0.9,内部的圆的半径为外部高的0.45倍.按照这个比例计算相应的坐标. 3).本例中的动画是用ValueAnimation实现的,具体实现在下部代码中. 4).

Android实现指针刻度转盘

2020-08-16
本文实例为大家分享了Android实现指针刻度转盘的具体代码,供大家参考,具体内容如下 一. 先上个效果图,实现如图所示刻度转盘和2个文本的绘制,最后1个刻度绘制的比较长一些(后期会添加动画效果,未完待续-): 二. 话不多说,上代码,Timber可使用Log代替,也可根据自身需求将配置属性放到attrs.xml中去: package com.landleaf.householdtype.widget; import android.content.Context; import android

android实现简单圆弧效果

2020-08-15
最近项目完成就开始搞一些有用没用的东西,以前面试的时候有人问我那种圆弧效果怎么做,还问我翻牌效果,我只看过,没有做过,现在有空了,而且想到可能会用到就做个简单的 圆弧很简单,自定义个View,创建个Paint,设置 arcPaint.setStyle(Paint.Style.STROKE)再设置圆弧的宽,再在onDraw内调用canvas.drawArc()就好了 现在只做一个带刻度的圆弧和一个开口地方是圆角的圆弧.其他各种效果以后再摸索 ArcView.java public class Ar

使用DrawerLayout完成滑动菜单的示例代码

2020-08-13
用Toolbar编写自定义导航栏,在AndroidManifest.xml中你要编滑动菜单的界面处加入如下代码 <activity android:name=".DrawerLayoutActivity" android:theme="@style/NoTitle"></activity> 在values下的styles.xml中加入 <style name="NoTitle" parent="Theme.

Android 阿里云OSS文件上传的实现示例

2020-08-07
估计有小伙伴看到阿里云oss的api文档十脸懵逼了,啊哈哈哈,接下来博主就来拯救你了,看完觉得好的就关注博主吧,么么么么么哒!!! 想要自己研究阿里云oss的,博主开启传送门给你:阿里云oss 一.项目导入阿里云oss的SDK 方式1:在build文件添加依赖(博主和官方一致推荐) dependencies { //阿里云oss implementation 'com.aliyun.dpa:oss-android-sdk:+' } 方式2:源码编译jar包 源码传送门:官方阿里云oss源码 二.

Android输入框实时模糊搜索效果的示例代码

2020-08-07
Android输入框实时模糊搜索 很多开发场景会用到搜索框实时模糊搜索来帮助用户输入内容,如图 思路是在EditText 字符变动的时候 弹出ListPopupwindow并更新列表,这样的做法google已经封装为AutoCompleteTextView 用法 mAutoCompleteTextView.setAdapter(adapter); mAutoCompleteTextView.setFocusable(true); mAutoCompleteTextView.setOnItemCl

详解Android项目多服务端接口适配(超简单)

2020-08-07
现状 Android项目如果是多服务端接口时,一般怎么弄呢? 方法1:服务器地址放在Header中 把服务器地址放在接口Header中,然后通过拦截器来动态修改请求地址而实现的.除了默认服务器的接口,其它都要加一个Header,有点麻烦.看起来也不爽,不简洁. interface ApiHeaderCase { /************************** server A ****************************/ @Headers("host:$SERVER_HOS

Android内存溢出及内存泄漏原因进行

2020-08-06
内存溢出(Out Of Memory):Android系统中每一个应用程序可以向系统申请一定的内存,当申请的内存不够用的时候,就产生了内存溢出. 内存泄漏:当某个对象不再被使用,即不再有变量引用它时,该对象占用的内存就会被系统回收.当某个对象不再被使用,但是在其他对象中仍然有变量引用它时,该对象占用的内存就无法被系统回收,从而导致了内存泄漏. 当内存泄漏过多时,可用内存空间会减少,应用程序申请的内存不够用,就会导致内存溢出. 内存溢出原因: 1.内存泄漏过多. 2.内存中加载的数据量超过内存的可

简单了解Android性能优化方向及相关工具

2020-08-05
开发一款性能优良的应用是每一个Android开发者都必须经历的挑战.在移动端资源有限的前提下,提高应用的性能显得尤为重要.常见的提高APP性能的优化方向有三个:布局和渲染优化.内存优化.功耗优化. 一:布局优化 所谓布局优化,就是尽量减少布局的嵌套层级,减少无用的布局.主要的优化方法有: (1)优先使用RelativeLayout来减少布局嵌套层数,否则尽量使用LinearLayout.这是因为RelativeLayout能够在不嵌套的情况下完成复杂的布局,而当布局比较简单时优先使用Linear

Android连接MySQL数据库并进行增删改查操作示例讲解

2020-08-04
1.Android 连接MySQL数据库 public class DBOpenHelper { private static String driver = "com.mysql.jdbc.Driver";//MySQL 驱动 private static String url = "jdbc:mysql://IP:3306/数据库";//MYSQL数据库连接Url private static String user = "root";//用

Android6.0 动态权限机制深入讲解

2020-08-04
前言 Android6.0以后引入了动态权限机制,一些系统权限的分配需要在app运行中进行分配,而不只是在AndroidManifest中指定. 本篇将针对动态权限的底层分配过程进行分析(基于Android-6.0.1). 权限分配 我们先看一下请求分配权限的代码 //frameworks/support/v4/java/android/support/v4/app/ActivityCompat.java public static void requestPermissions(final @

Android入门计算器编写代码

2020-08-01
这个简易计算器是我按照一本android开发入门书学的,书上的第一个例子就是计算器的编写.计算器的编写主要涉及到按键的布局和按键输入要点. 一个总的Lnearlayout的布局下orientation设置为vertical垂直分布,然后此布局下再设置1给我Edittext的一个文本框4个Lnearlayout子布局(第4个布局里可以嵌套另外3个Lnearlayout的布局来实现按钮排版)这4个子布局在你的界面上肯定是垂直分布的,因为你的总布局设置vertical.第一个子布局放置4个Button

android简易计算器的制作

2020-07-28
之前有好好完成老师留过的C++大作业,使用MFC制作通讯录.所以用AS写一个安卓的计算器并不是很难,但还是想上手操作一下,写一个只有简单加减乘除运算的小计算器,后面可能会考虑加一些其他的稍微复杂的计算功能.下面是步骤. 1.首先创建一个empty activity,取名为MyStudyCalculator. 2.打开activity_main.xml文件,创建两个编辑框(EditText).四个按钮(Button).一个文本框(TextView),并设置相应的id.其中编辑框作用是让用户填入两个

Android通过原生方式获取经纬度与城市信息的方法

2020-07-28
一.概述 在项目中需要获取用户所在位置的经纬度和城市上送给风控系统.一般来说,定位有两种方式: 用第三方SDK定位,如百度地图.高德地图.谷歌地图: 用Android原生SDK中的api定位: 本文讲述定位的第二种方式--用Android原生的SDK中的api定位,如果项目定位要求较高还是建议使用第三方地图库. 二.Android原生SDK中的api定位 Android原生方式获取经纬度两种定位方式:GPS定位和Wifi定位 GPS定位相比Wifi定位更精准且可在无网络情况下使用,但在室内基本暴

Android自定义Dialog原理实例解析

2020-07-28
Android开发过程中,常常会遇到一些需求场景--在界面上弹出一个弹框,对用户进行提醒并让用户进行某些选择性的操作, 如退出登录时的弹窗,让用户选择"退出"还是"取消"等操作. Android系统提供了Dialog类,以及Dialog的子类,常见如AlertDialog来实现此类功能. 一般情况下,利用Android提供的Dialog及其子类能够满足多数此类需求,然而,其不足之处体现在: 1. 基于Android提供的Dialog及其子类样式单一,风格上与App本

Android自定义转盘菜单效果

2020-07-28
最近由于公司项目需要,需要开发一款转盘菜单,费了好大功夫搞出来了,下面分享下 样图 具体功能如下: import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v7.app.AppCompatActivity; im

Android自定义View实现直播点赞特效

2020-07-28
由于开发的需要,需要开发类似直播点赞特效的需求,于是自定义View来实现这种效果 案例图: 1.自定义View import android.animation.Animator; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.TypeEvaluator; import android.animation.ValueAnimator;

用Flutter做桌上弹球(绘图(Canvas&CustomPaint)API)

2020-07-27
本文是Flutter中Canvas和CustomPaint API的使用实例. 首先看一下我们要实现的效果: 结合动图演示,列出最终目标如下: 在程序运行后,显示一个小球: 每次程序启动后,小球的样式均发生随机性变化,体现在大小.颜色和位置三点: 小球运行的规律参考桌球或三维弹球游戏: 单击屏幕,小球变色: 双击屏幕,小球暂停/恢复运动: 长按屏幕,小球开始/停止自动变色. 运用的主要技术点:Canvas和CustomPaint API. 运行平台:Android.iOS 源码地址: Githu

Android RecyclerView实现滑动删除

2020-07-27
本文实例为大家分享了RecyclerView实现滑动删除的具体代码,供大家参考,具体内容如下 package com.example.demo; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.Lin