Android基础
qianyefei25
这个作者很懒,什么都没留下…
展开
-
Android下数据存储
Android下数据存储方式: 1.文件 2.SharedPreferences(维护的是一个xml文件) 3.SQLite数据库 4.ContentProvider内容提供者 5.网络=============================================== 文件存储:1.保存数据到手机内存(用户名和密码) String path = “/data/data原创 2016-08-04 09:22:46 · 226 阅读 · 0 评论 -
HttpClient发起GET / POST请求
在工作线程中进行此操作:GET请求:public String loginOfGet(String username, String password) { HttpClient client = null; try { // 定义客户端对象 client = new DefaultHttpClient();原创 2016-08-14 15:26:09 · 305 阅读 · 0 评论 -
Activity启动模式
Activity四中启动模式:standard、singleTop、singleTask、singleInstance,可在AndroidManifest.xml中配置此Activity的launchMode属性。四种启动模式的区别:1.standard (default mode) 可以被多次实例化,在同一个任务栈中可以有多个不同的实例。 每次startActivity都是创建一个原创 2016-09-03 22:22:59 · 201 阅读 · 0 评论 -
Android面试题:横竖屏切换的生命周期
在很多面试题库中,都有横竖屏切换时Activity的生命周期的问题:分析: Activity启动,到能与用户进行交互,调用的生命周期方法为: onCreate()创建–>onStart()可见–>onResume()获得焦点横竖屏切换时,调用onpause()–>onStop()–>onDestroy() 框架将此Activity销毁,接着调用o原创 2016-09-03 21:32:32 · 407 阅读 · 0 评论 -
ButterKnife 8版本在AndroidStudio中的配置
使用ButterKnife8版本后,已经调用了ButterKnife.bind(context),方法,并且控件上也加注了@BindView(R.id.xxx),但是项目一运行就报空指针,在网上找了解决方法,最终简书中的方法解决了。 http://www.jianshu.com/p/bf9018c1a7f61.Project的build.gradle文件中增加classpathbuildscr原创 2016-08-09 14:33:16 · 1009 阅读 · 0 评论 -
github开源库
百度搜索:直接拿来用 最火的android开源项目android-async-http: https://github.com/loopj/android-async-httpAn asynchronous callback-based Http client for Android built on top of Apache’s HttpClient libraries. All requ原创 2016-08-09 10:00:25 · 1316 阅读 · 0 评论 -
连接网络
联网操作,耗时,放在工作线程中执行。 添加权限: 1.使用HttpUrlConnection连接网络/** * 根据url连接网络返回位图对象 * @param url * @return */ private Bitmap getImageFromNet(String url){ HttpURLConnection conn =原创 2016-08-07 17:01:05 · 247 阅读 · 0 评论 -
短信读写
Android下关于手机中的数据存储在:data/data/com.android.providers/telephony下, 其中短信存在:telephony/mmssms.db 电话存在:telephony/telephony.db通过ContentProvider来读取手机中的短信数据库。 content://authorities/code 短信备份: 1.添加权限原创 2016-08-04 19:06:13 · 407 阅读 · 0 评论 -
添加和读取联系人
添加权限: 手机中系统联系人数据库存放在: data/data/com.android.providers.contacts/databases/contacts2.db查找里面的两张关联表:raw_contacts, data 1.在raw_contacts中得到所有联系人的_id 2.在data表中根据raw_contacts中取到的_id查询对应raw_contact_id的数据c原创 2016-08-05 16:01:36 · 1001 阅读 · 0 评论 -
堆与栈
在Java中,有两种区域需要程序员注意,即对象的生存空间堆(Heap)与方法调用及变量的生存空间栈(stack)。当Java虚拟机启动时,会从底层的操作系统取得一块内存,并以此区段来执行Java查询。至于会得到多大的内存,以及是否能够调整内存大小取决于Java虚拟机与平台的版本。1.所有的对象都存在于可以垃圾回收的堆上,而变量存在于哪一个空间则取决于它是哪一种变量。 2.实例变量声明在类而不是方法原创 2016-08-04 10:28:54 · 243 阅读 · 0 评论 -
线程休眠
new Thread(){@Overridepublic void run(){ super.run(); try{ Thread.sleep(1000); // SystemClock.sleep(1000); }catch(Exception e){ }}}.start();其中Thread.sleep()和SystemClo原创 2016-08-04 09:30:39 · 329 阅读 · 0 评论 -
xml解析与序列化
1.解析: 1) dom/dom4j: 缺点:占内存,会将文件全部读入内存后开始解析 2.)SAX: 缺点:一旦开始解析就不会停止,直到文件解析完成 3.)Pull: 解决了SAX解析不能停止的问题。2.序列化:(将数据写到本地) private void writeXmlToLocal(){ try { // 获得序列号对象原创 2016-08-04 09:20:38 · 398 阅读 · 0 评论 -
服务Service (一)
服务: Android四大组件之一,长期后台运行的没有界面的组件。android系统进程管理是按照一定的规则的: 1.应用程序一旦被启动,通常情况下关闭(清空任务栈,即所有的Activity从任务栈中移除)后进程不会停止。方便下一次快速启动。 带来内存不足的问题。 2.Android系统有一套内存清理机制。 按照优先级去回收系统的内存。进程分为5个等级的优先级:(从高到低) 1.Foregr原创 2016-09-19 17:40:40 · 332 阅读 · 0 评论