Android笔记
和Android相关学习笔记归纳汇总
lioil.win
这个作者很懒,什么都没留下…
展开
-
Android-电池优化Doze和Standby模式-AlarmManager失效
一.电池省电优化(Doze和App Standby模式)从Android6.0开始,系统提供了两种省电功能(延长电池寿命和使用时间):Doze和App StandbyDoze和App Standby模式会延缓CPU和网络活动实现节能;1.Doze模式1.进入Doze模式 在手机未充电,完全静止且熄屏一段时间后,Android系统会自动进入Doze模式2.Doze模式...原创 2017-12-19 22:55:33 · 2131 阅读 · 0 评论 -
Android-9种通话状态(精确)
1.监听9种通话状态TelephonyManager telM = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);telM.listen(new PhoneStateListener(){ /** * 当有精确通话状态时回调 * Callback invoked when prec原创 2017-10-30 17:54:02 · 16881 阅读 · 3 评论 -
Android-Bitmap压缩总结
Bitmap占用内存 = 长 X 宽 X 1个像素所占字节,降低任意参数就可减少Bitmap占用内存!一、质量压缩bitmap.compress(···quality···)ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(CompressFormat.JPEG, 10, baos);byte[]原创 2017-08-15 22:23:51 · 454 阅读 · 0 评论 -
(转)Android-shareUserId作用
转载: http://www.cnblogs.com/wotakuc/archive/2013/03/27/2984423.html1.shareUserId介绍:Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个分配的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,转载 2017-10-12 18:08:05 · 558 阅读 · 0 评论 -
Android-易错点归纳
1.在Service中启动Activity的问题在Service中启动startActivity会出现异常: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activitycontext requires the FLAG_ACTIVITY_NEW_TASK flag// 1.在S原创 2017-09-21 00:13:02 · 325 阅读 · 0 评论 -
Android-把Android Studio改为Eclipse项目结构
sourceSets {main {manifest.srcFile 'AndroidManifest.xml' // 方法一, 自定义的Eclipse项目结构,会覆盖掉Android Studio默认项目结构 java.srcDirs = ['src'] resources.srcDirs = ['src']aidl.srcDirs = ['src'] renderscript.srcDirs = [原创 2017-08-07 14:34:30 · 1086 阅读 · 0 评论 -
Android-SurfaceView示例
SurfaceView功能简述:1.Provide a dedicated drawing surface embedded inside of a view hierarchy.2.Provide a surface in which a secondary thread can render in to the screen.SurfaceView注意事项:1.All SurfaceView and Surfac原创 2017-07-27 23:57:21 · 588 阅读 · 0 评论 -
Android-Studio多个项目添加依赖同一个模块
https://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-android-studio, eclipse多个工作空间引用同一个项目不导入副本 同样在Android Studio提供的import moudl,会复制副本模块,project(':').projectDir = new File(),多个项目依赖同一个模块原创 2017-07-24 23:05:13 · 3488 阅读 · 0 评论 -
Android-Activity和Fragment生命周期
onCreate(): Activity创建界面时,调用此方法.onStart(): Activity界面可见时,调用此方法.onResume(): 界面获得焦点可以和用户可交互时,调用此方法.onPause(): 界面可见(变为半透明或弹出对话框)但失去焦点不可以和用户交互,调用此方法.onStop(): 界面完全不可见时 ,调用此方法.onDestroy(原创 2016-03-25 17:41:19 · 504 阅读 · 0 评论 -
Android-发送广播结束所有Activity
//创建基类class BaseActivity extends Activity { @Override public void onResume() { super.onResume(); //注册广播 IntentFilter filter = new IntentFilter(); filte原创 2016-03-31 01:14:38 · 969 阅读 · 0 评论 -
Android-Android Studio在线搜索最新版本的依赖库
打开File–>Project Structure,点击Denpendencies标签,点击+,选Library 如下图所示,在线搜索依赖库找到最新版,Android Studio添加依赖库实在是太方便啊!原创 2016-12-17 18:48:06 · 3688 阅读 · 0 评论 -
Android-Listveiw的checkbox,Button焦点问题
适配器在getview()中重复使用[被移除屏幕的item,即不可见的项] 会造成被选中的checkbox重新出现,显示异常,故需要记录checkbox的状态!CheckBox抢占Item焦点,导致Item点击无效!方法一:CheckBox设置android:clickable="false" 方法二:在Item根布局或ListView布局设置android:descendantFocusa原创 2016-12-17 18:53:51 · 589 阅读 · 0 评论 -
Android-对话框自定义的5种方法
GitHub博客:http://lioil.win/2016/04/21/descendantFocusability.html Coding博客:http://c.lioil.win/2016/04/21/descendantFocusability.html在ListView的Item中存在如ImageButton,Button,CheckBox子控件子控件获取焦点,点击item本身没有响原创 2016-12-17 19:06:06 · 1575 阅读 · 0 评论 -
Android-读取所有联系人的简洁方法
Android-获取所有联系人的最简洁代码 搜了网上的获取所有联系人的代码,都是要连续查询两三个表才可以得到姓名和手机号信息, 太繁琐了,实际上使用android.provider.ContactsContract.CommonDataKinds.Phone 这个类可以直接获取姓名和手机号等等一系列常用数据。 Phone.CONTENT_URI已经将常用的几个表(raw contact co原创 2016-12-17 19:10:43 · 651 阅读 · 0 评论 -
Android-扫描更新媒体库(图库相册)
拍照或拍视频视频后,扫描把文件添加到系统媒体库,以便我们使用ContentResolver查询文件。方法一、发送广播sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://"+filePath)));// 加权限:<uses-permission android:name="android原创 2016-12-17 19:17:28 · 1529 阅读 · 0 评论 -
Android-Bitmap-压缩方法总结
Bitmap占用内存 = 长 X 宽 X 1个像素所占字节,降低任意参数就可减少Bitmap占用内存!一、质量压缩bitmap.compress(···quality···)ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(CompressFormat.JPEG, 10, baos);byte[]原创 2016-12-17 19:21:12 · 599 阅读 · 0 评论 -
Android-TextView自定义换行
GitHub博客:http://lioil.win/2016/11/17/TextView-LineFeed.html Coding博客:http://c.lioil.win/2016/11/17/TextView-LineFeed.html/** * 强制字符占满一行才换行,避免TextView中英混合过早换行,并且在最后添加点击文字 */public class TextViewLi原创 2016-12-17 19:49:18 · 1218 阅读 · 0 评论 -
Android Studio和SDK缓存目录配置
详细步骤http://www.jianshu.com/p/7a58c5f154c5Android Studio和Android SDK运行后,会在系统用户目录产生几个缓存目录,我的系统用户盘产生了十几G的缓存,不得不迁移目录啊!!!缓存目录: .android Android SDK生成的AVD(Android Virtual Device Manager)即模拟器存放路径 .Andr转载 2017-01-19 06:13:26 · 3310 阅读 · 0 评论 -
Android应用资源编译打包原理
原文: http://blog.csdn.net/beyond702/article/details/49228115Android查找资源的流程 Android系统中,每一个应用程序一般都会配置很多资源,用来适配不同密度、大小和方向的屏幕,以及适配不同的国家、地区和语言等等。这些资源是在应用程序运行时自动根据设备的当前配置信息进行适配的。这也就是说,给定一个相同的资源ID,在不同的设备配置之下,转载 2017-02-15 03:30:10 · 2220 阅读 · 0 评论 -
Android-APK目录简述
参考: http://www.jianshu.com/p/7c288a17cda8 http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html1.APK目录 assets 该目录文件不会被压缩或编译成二进制 lib 该目录存放c/c++编译后的libxxx.so文件 res 该目录原创 2017-02-17 11:45:31 · 777 阅读 · 0 评论 -
Android-APK签名工具-jarsigner和apksigner
一.工具介绍jarsigner是JDK提供的针对jar包签名的通用工具,位于JDK/bin/jarsigner.exeapksigner是Google官方提供的针对Android apk签名及验证的专用工具,位于Android SDK/build-tools/SDK版本/apksigner.bat不管是apk包,还是jar包,本质都是zip格式的压缩包,所以它们的签名过程都差不多(原创 2017-02-17 19:14:32 · 45988 阅读 · 1 评论 -
26款Android反编译工具
译文: http://www.freebuf.com/sectool/111532.html 原文: https://hackerlists.com/android-reverse-engineering-tools工欲善其事必先利其器,好的Android逆向工程工具在逆向破解工程中起到事半功倍的作用。1. SMALI/BAKSMALISMALI/BAKSMALI是一个强大的apk文件编辑工具,转载 2017-02-17 19:32:03 · 3911 阅读 · 0 评论 -
Android-aapt/dx命令编译打包APK
编译工具在Android SDK/build-tools/api版本号/aapt和dx命令行工具 注: 以下命令的[]都表示可选一.aapt aapt主要工作是编译res目录文件、AndroidManifest.xml 生成编译后的res目录文件、AndroidManifest.xml、Resources.arsc1.查看APK包文件列表aapt l[ist] [-v] [原创 2017-02-20 00:52:03 · 1993 阅读 · 0 评论 -
Android-TextView-EditText笔记
一.TextView1.属性XML<TextView ... android:ellipsize="marquee" 文本超长时的省略(ellipsis)类型 android:scrollbars = "vertical" 设置滚动条 android:maxLines = "AN_INTEGER" 设置最大行数 android:focusable="tru原创 2017-02-21 11:05:31 · 312 阅读 · 0 评论 -
Android-图片裁剪/旋转/缩放
1.系统裁剪 // 选择图片,裁剪 public void crop(View view) { startActivityForResult(new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) .putExtra("cr原创 2017-02-21 11:15:53 · 1327 阅读 · 0 评论 -
Android图片加载框架
原文:http://www.jianshu.com/p/3ac30878c72c一、UniversalImageLoaderhttps://github.com/nostra13/Android-Universal-Image-Loader UIL可以算是老牌最火的图片加载库了,使用过这个框架的项目可以说多到教你做人。可惜的是该作者在项目中说明已经停止了对该项目的维护。这就意味着以后任何的新特性都转载 2017-02-22 01:30:20 · 308 阅读 · 0 评论 -
Android通用框架大全
原文:https://www.oschina.net/news/73836/15-android-general-popular-frameworkshttp://www.androidchina.net/4920.html#rd?sukey=3903d1d3b699c208f96a43a12fc2e7ae683c66523214d79bc81eec0c330d577be318928c65eee6转载 2017-02-22 06:39:14 · 471 阅读 · 0 评论 -
Android-传感器-计步
参考文章:http://www.jianshu.com/p/5d57f7fd84fa 本文源码:https://github.com/lifegh/StepOrientAndroid4.4以上的有些手机有计步传感器可以直接使用, 而有些手机没有,但有加速度传感器,也可以实现计步功能(需要计算加速度波峰波谷来判断人走一步)一.使用public class MainActivity extends原创 2017-03-12 16:18:35 · 10112 阅读 · 7 评论 -
Android-传感器-方向
使用方向传感器,定位手机y轴方向(y轴与北方夹角0-360度)y轴: 手机长边方向 x轴:手机短边方向 z轴:与手机平面垂直方向本文源码:https://github.com/lifegh/StepOrient一.使用public class MainActivity extends AppCompatActivity implements StepCallBack{ .........原创 2017-03-12 16:39:24 · 775 阅读 · 0 评论 -
Android-传感器-实现记录人行走的轨迹
本文源码:https://github.com/lifegh/StepOrient利用Android传感器-方向和计步组合使用,可以在地图上记录人行走的轨迹图 传感器类源码在上两篇文章中,本主要是方向和计步组合使用!一.方向和计步组合使用,记录轨迹图public class MainActivity extends AppCompatActivity implements StepSensorB原创 2017-03-17 23:04:29 · 11337 阅读 · 2 评论 -
Android-绘图-绘制导航箭头
项目源码:https://github.com/lifegh/StepOrient 利用Android传感器-方向和计步组合使用,可以在地图上记录人行走的轨迹图本文主要是在行走轨迹上增加方向导航箭头(类似地图导航箭头)方向箭头绘制步骤: 1.保存画布旋转前的状态canvas.save() canvas.translate(mCurX, mCurY); // 平移画布坐标原创 2017-03-25 20:29:32 · 5059 阅读 · 0 评论 -
Android-绘图-半透明/蒙层引导用户
public class GuideView extends RelativeLayout { private final String TAG = getClass().getSimpleName(); private Context mContent; private boolean first = true; /** * targetView前缀。SH原创 2017-03-27 22:04:02 · 2462 阅读 · 1 评论 -
Android-xml根布局-参数失效原因
1.item.xml根布局参数没有添加到父布局1).在item.xml中<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="100dp" android:layout_height="100dp" android:layout_margi原创 2017-04-22 16:43:10 · 1528 阅读 · 0 评论 -
Android-设备管理器Device Administration
官方文档中国版: https://developer.android.google.cn/guide/topics/admin/device-admin.html 这个网站是谷歌2016年底为中国开发者提供中国版,方便访问!一.介绍Android设备管理API来为方便企业应用控制员工!一个APP激活了设备管理后,APP不可卸载,可锁屏,重置锁屏密码,擦除SD卡数据,恢复出厂等等,权限非常高!原创 2017-05-06 16:09:24 · 2400 阅读 · 0 评论 -
Android-系统悬浮窗
WindowManager.LayoutParams params = new WindowManager.LayoutParams();params.height = WindowManager.LayoutParams.WRAP_CONTENT;params.width = WindowManager.LayoutParams.WRAP_CONTENT;params.type = Windo原创 2017-05-08 00:04:24 · 1259 阅读 · 0 评论 -
Android-查看隐藏的API源码
介绍在查看Android API源码时,Android.jar内部有大量@hide注解的代码, 无论是用Eclipse还是Android Studio都会隐藏有@hide注解的代码! 因此我们查看API源码会发现很多类找不到错误,如PhoneWindow,ActivityThread等都没有找到,我早期看API时就很恼火! 这时只能去Android SDK源码目录搜索PhoneWindow.j原创 2017-05-08 22:44:55 · 3237 阅读 · 1 评论 -
Android-Widget桌面应用小部件
官方文档中国版: https://developer.android.google.cn/guide/index.html?q=widget 这个网站是谷歌2016年底为中国开发者提供中国版,方便访问!一.介绍Android Widget是桌面应用小部件,可嵌入桌面,并可周期性更新Widget界面! 例如在桌面的天气,日历类小工具就是Widget部件!二.创建Widget广播接收器p原创 2017-05-10 23:47:03 · 1250 阅读 · 0 评论 -
Android-数据库-ORM框架
一.ORM介绍对象关系映射Object Relational Mapping, 用于实现面向对象编程里不同系统数据之间转换! 面向对象是从耦合/聚合/封装的基础上发展, 关系数据库是从数学理论发展而来; 两套理论存在显著的区别, ORM对象关系映射就是为了解决它们之间的差异!直白地说,ORM建立对象和数据库表的对应关系,方便程序员直接用对象操作数据库!二.Java的ORM框架Hibernate,原创 2017-05-14 17:48:46 · 793 阅读 · 0 评论 -
Android-ViewPager-循环滑动(轮播)
一.问题ViewPager可以左右滑动页, 但是不能从首页跳到最后页,也不能从最后页跳到首页。这就限制左右循环滑动的功能, 难以实现轮播效果!二.解决方法方法一监听ViewPager滑动状态1.当首页向右滑时, 把当前页设为最后页;2.当最后页向左滑时, 把当前页设为首页!缺陷:很明显首页和最后页过渡效果差,动画效果不好控制,麻烦!方法二1.把ViewPager总页数设为整数最大值,欺骗原创 2017-05-22 23:52:32 · 501 阅读 · 0 评论 -
Android-View自定义属性-简化写法
一.声明属性类型(res/values/attrs.xml)1.自定义属性正式写法,必须有此步骤,属性类型多样(int,float,boolean,enum....)2.自定义属性简化写法,可忽略此步骤,但属性类型只有字符串<resources> <declare-styleable name="decAttrs"> <attr name="name" format="原创 2017-05-23 23:58:35 · 571 阅读 · 0 评论