Android
思想永无止境
这个作者很懒,什么都没留下…
展开
-
移动开发确保客户端的唯一性
Android 使用 IMEI, 用户不给权限, 程序不能使用(京东的逻辑) ; iOS 使用 IDFV + Keychain 或者 UUID + Keychain.无论是 UUID, IDFV, IDFA 都会发生改变, 使用keychain保存后, App卸载后, 再次安装 可以直接获取之前存储的值. keychain 不会因 App卸载而清空.keychain只是一种保存方式。......原创 2020-07-09 13:39:46 · 120 阅读 · 0 评论 -
android sdk 需要下载安装哪些
android sdk 需要下载安装哪些原创 2020-07-07 13:47:52 · 304 阅读 · 0 评论 -
android搜索不到蓝牙 找不到设备
好烦,权限我已经给了, <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> &l原创 2020-07-06 11:42:02 · 2494 阅读 · 0 评论 -
如何为你的Android应用缩放图片
原文地址:http://www.open-open.com/lib/view/open1329994992015.html孤立的问题 我做这个教程,是因为我已经有一些实用方法来实现图片的缩放,为了避免最常见的图片缩放问题。如下面的例子:?12Bitmap unscaledBitmap = BitmapF转载 2015-06-16 03:59:43 · 691 阅读 · 0 评论 -
简介Android启动过程
其实吧,大家都不是神,不可能一出生就知道一个事情,都是后天学习的结果。对于Android启动过程,网上讲的太复杂了,像我们这种菜鸟看都看不明白他说半天说个啥。所以吧,我决定自己讲讲,简单的讲讲,简单到听一遍就会了。Android启动可以有两个不同的理解,这一定要分开,决不能像网上别人那样含糊其辞。Android启动一种理解是Android系统的启动,第二种理解是Androi原创 2015-06-15 18:56:08 · 1253 阅读 · 0 评论 -
如何使用Android MediaStore裁剪大图片
原文地址:http://blog.csdn.net/floodingfire/article/details/8144587概述 我写这篇文章是为了发表我对MediaStore裁剪图片功能的一些简要研究。基本上,如果你要写一个应用程序,使用已有的Media Gallery并允许用户在你的应用里选取TA的图片的一部分(可选功能:人脸识别)。 可以使用一个Intent转载 2015-06-12 18:22:43 · 773 阅读 · 0 评论 -
Parcelable接口介绍与使用
1. Parcelable接口Parcelable的实例可以被写入和恢复一个 Parcel类。一个类实现Parcelable接口也必须有一个公开的静态的常态的字段CREATOR,这是实现 Parcelable.Creator 的对象。实现Parcelable案例:public class Student implements Parcelable { private String原创 2015-06-12 14:35:27 · 1733 阅读 · 0 评论 -
Application中数据传递及内存泄漏问题
原文地址:http://android.tgbus.com/Android/tutorial/201107/359474.shtml Application的使用 Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个A转载 2015-06-12 14:02:19 · 951 阅读 · 0 评论 -
Dalvik VM (DVM) 与Java VM (JVM)之间有哪些区别
原文地址:http://www.jizhuomi.com/android/environment/332.htmlDalvik虚拟机存在于Android系统,JVM是Java虚拟机,两者都是虚拟机,它们之间有什么区别呢?本文就对两者进行比较,讲述它们的不同。 Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为转载 2015-06-12 10:24:02 · 694 阅读 · 0 评论 -
Android之应用开发基础
Android应用开发基础英文地址:http://developer.android.com/guide/components/fundamentals.html本人英语水平不高,如有翻译不当请指正。文档目录1 应用组件1.1 Activating组件2 清单文件2.1 声明组件2.2 申明组件的能力2.3 声明应翻译 2015-06-12 09:24:27 · 1564 阅读 · 0 评论 -
Android 中各种权限深入体验及详解
原文链接:http://blog.csdn.net/t12x3456/article/details/7749200一. 权限(permission)权限用来描述是否拥有做某件事的权力。Android系统中权限分为普通级别(Normal),危险级别(dangerous),签名级别(signature)和系统/签名级别(signature or system)。系统中所有预定义的转载 2015-06-10 11:56:17 · 534 阅读 · 0 评论 -
Android系统启动过程全解析
原文地址:http://www.jizhuomi.com/android/course/345.htmlAndroid系统是一款基于Linux的移动操作系统,那么Android是如何启动起来的呢?本文就详细阐述Android系统的启动过程。 从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linux的转载 2015-06-08 23:50:54 · 751 阅读 · 0 评论 -
Android源代码分析要看这18本书
原文地址:http://www.jizhuomi.com/android/book/457.html关于看书的一些建议: 1. 书不是要用的时候才去看的,要养成经常看书、终身学习的习惯。 2. 不要只看与目前自己工作相关的书,IT技术日新月异,三五年河东,三五年河西。 3. 书看得多了,就会越看越快,学习新的东西时也越容易进入状态转载 2015-06-08 23:36:32 · 820 阅读 · 0 评论 -
TextView在设置Text值时一定要注意着点
TextView.setText(int resid);TextView.setText(CharSequence text);这两个方法一不留神就弄错,你本来是调用TextView.setText(CharSequence text);的,如下面代码:TextView.setText(Person.getMoney());结果程序运行失败,原因在于getMoney()返回的是原创 2015-06-05 19:13:47 · 2022 阅读 · 0 评论 -
Android之常见错误
1、Unable to resolve target 'android-2'安装低版本的api,再default.properties 这个文件中把target=android-2 改成 target=android-7终于就没有问题了。2、Invalid start tag LinearLayoutmain.xml放错文件夹了,应该在\res\layout下。转载 2015-06-05 16:58:41 · 1326 阅读 · 0 评论 -
一些学习Android的网站
http://hukai.me/android-training-course-in-chinese/index.htmlhttps://github.com/Trinea/android-open-project一个运行速度最快的Android模拟器:Genymotion一个强大的IDE:android studio一个先进的多工程构建Android项目工具:原创 2015-05-27 07:56:33 · 735 阅读 · 0 评论 -
Android 之ActivityThead、ActivityManagerService 与activity的管理和创建
原文地址:http://blog.csdn.net/xieqibao/article/details/6570080在android中,Activity是四大组件中比较重要的一个(当然其他的也比较重要),那么android中是怎样管理这些activity的?应用的进程和主线程是怎么创建的,应用的消息循环又是在什么时候创建的?在这篇文章中将详细介绍: 先来看下涉及到的类,通过转载 2015-05-26 11:03:37 · 539 阅读 · 0 评论 -
Android应用程序启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6689748前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程转载 2015-05-26 10:59:45 · 855 阅读 · 0 评论 -
Android应用程序的Activity启动过程简要介绍和学习计划
原文地址:http://blog.csdn.net/luoshengyang/article/details/6685853在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Activity和Service,以及提供Binder机制帮助它们相互间转载 2015-05-26 10:57:45 · 536 阅读 · 0 评论 -
ActivityManagerService的启动和ActivityManagerService对Activity堆栈的管理
原文地址:http://blog.csdn.net/canghai1129/article/details/41392247本文主要介绍android4.4中ActivityManagerService的启动和ActivityManagerService对Activity堆栈的管理。一、ActivityManagerService的启动ActivityManagerServ转载 2015-05-26 10:53:40 · 702 阅读 · 0 评论 -
android ActivityManagerService 源码分析----Activity管理(二)
本文为原创文章,欢迎转载!转载时请注明出处:http://blog.csdn.net/windskier 上篇文章分析完了task的创建或者复用,接下来接着分析activity在启动过程中还有哪些工作需要去完成?首先给出整个activity的过程图。 1. Starting Window 当该activity运行在新的task中或者进程中时,需要在转载 2015-05-26 10:47:54 · 938 阅读 · 0 评论 -
android ActivityManagerService 源码分析----Activity管理(一)
原文地址: http://blog.csdn.net/windskier/article/details/7096521 终于下定决心写写ActivityManagerService的源码分析的文章了,ActivityManagerService 业务的整个逻辑关系被各种复杂的数据结构包裹着,因此对ActivityManagerService 的分析主要就是对各种数据结构的分析,明白转载 2015-05-26 10:46:17 · 1569 阅读 · 0 评论 -
Android之Task
activity与task的启动模式通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式。 当一个Activity启动时,就会把它压入该Task的堆栈,而当用户在该Activity中按返回键,或者代码中finish掉时,就会将它从该 Task的堆栈中弹出。如果我们没有特别的需求,我们的应用转载 2015-05-24 19:41:28 · 744 阅读 · 0 评论 -
Android之ActivityThread
1. ActivityThread功能 它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationThread为Server)负责调度和执行activities、broadcasts和其它操作。 在Android系统转载 2015-05-23 10:37:57 · 1690 阅读 · 0 评论 -
Android之Notification
先来一段代码[java] view plaincopymNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE); Intent intent = new Intent(context,原创 2015-05-23 09:29:35 · 595 阅读 · 0 评论 -
Android之ContentProvider
ContentProvider详解原创 2015-05-23 09:18:33 · 540 阅读 · 0 评论 -
SQLite之SQLiteStatement
平常在做Android数据库操作时,都是用的execSQL之个方法. 今天偶然发现了SQLiteStatement这个类.让我想起了在做Java Web开发写JDBC的代码时Prestatement这个类.Prestatement不仅提高了效率,也解决了SQL注入的问题.那在Android中的SQLiteStatement,是否也会提高一些效率呢?于是写了一个简单的测试,比较execS转载 2015-05-23 09:03:28 · 7045 阅读 · 0 评论 -
Android之JUnit
在AndroidManifest.xml中添加以下代码: 1. <!-- 在本应用中导入需要使用的包,放在application里面activity外面 --> <uses-library android:name="android.test.runner" />2.<!-- 记住这个一要放在application外面,不然会出现配置错误信息,targetPackage一定要和应用原创 2015-05-22 14:25:28 · 803 阅读 · 0 评论 -
Android之SharedPreferences
SharedPreferences是Android中存储一些轻量级(只能存储key-value对)数据的一种方式,实际上SharedPreferences会把数据保存在xml文件中,可以在/data/data/appPackageName/下查看对应的xml文件。原创 2015-05-22 10:22:51 · 496 阅读 · 0 评论 -
Android之XMLPull
Pull解析Xml的代码: XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); xpp.setInput( ne原创 2015-05-22 09:40:46 · 1059 阅读 · 0 评论 -
Android之SQLite
SQLite支持大部分标准的SQL。 SQLite是无类型数据数据库(类似JavaScript),除主键外无数据类型也无数据长度(主键只能为int),不过建议在声明字段时最好写上数据类型和长度,符合SQL规范才能通用。 SQL分页语句和MySQL一样:select * from tableName limit pageSize offset beginIndex或select * from ta原创 2015-05-22 09:26:56 · 584 阅读 · 0 评论 -
使用eclipse导出apk并为apk签名
1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.具体操作 方法一: 命令行下转载 2015-05-16 21:42:38 · 1434 阅读 · 0 评论 -
Android学习第三天 --文件读写操作
文件读写操作原创 2015-05-12 21:08:48 · 627 阅读 · 0 评论 -
Android学习第二天 --一个简单的Android项目
develop android project please note the following points: 1.when use fragment,view.findViewById method have to put view.onStart method on,otherwise view.findViewById method return null.原创 2015-05-10 21:47:27 · 613 阅读 · 0 评论 -
Android学习第一天--搭建开发环境
切记不要相信网上的其他android环境搭建流程,因为其他流程有下载安装Android SDK步骤,这个步骤我很明确的告诉大家是不需要的,我是从这条弯路上走过来的。AndroidStudio本身自带Android SDK,而且AndroidStudio下载sdk组件依赖时根本不需要代理,网上的教程都是叫你配置Android SDK代理,其实根本不需要!而且我都试过网上的40多个代理全部不可用!(一开始我以为需要配置代理才能下载,后来才发现根本不需要配置代理,连Android SDK都不需要安装)原创 2015-05-10 21:32:04 · 893 阅读 · 3 评论 -
在Android开发中,有哪些好的内存优化方式?
在Android开发中,有哪些好的内存优化方式?如何避免 Out Of Memory(OOM) ?在Android中,一个Process 只能使用16M内存,要是超过了这个限定就会跳出这个异常。 那么,开发中,有哪些措施能避免这个问题呢?不仅仅是Bitmap的处理,其他方面也会导致OOM。有哪些好的内存优化方式呢?---------------------对于OOM转载 2015-05-07 20:35:10 · 522 阅读 · 0 评论 -
Android Memory Management
从早期G1的192MB RAM开始,到现在动辄1G -2G RAM的设备,为单个App分配的内存从16MB到48MB甚至更多,但OOM从不曾离我们远去。这是因为大部分App中图片内容占据了50%甚至75%以上,而App内容的极大丰富,所需的图片越来越多,屏幕尺寸也越来越大分辨率也越来越高,所需的图片的大小也跟着往上涨,这在大屏手机和平板上尤其明显。而且还经常要兼容低版本的设备。所以Android的转载 2015-05-07 20:30:58 · 452 阅读 · 0 评论 -
Android内存溢出分析
Android内存溢出分析内存溢出,是Android开发中常遇到的问题,解决起来总是摸不着头脑。今天爬爬就来讲讲如何定位内存溢出。1. OOM(内存溢出)和Memory Leak(内存泄露)有什么关系?OOM可能是因为Memory Leak,也可能是你的应用本身就比较耗内存(比如图片浏览型的,或者应用本身的设计有问题)。所以,出现OOM不一定是Memory Leak。转载 2015-05-07 20:18:21 · 456 阅读 · 0 评论