android 开发问题
小阳世界2023
万物皆程序
展开
-
Hook startActivity
文章目录context 是当前activitycontext是application的contextcontext 是当前activitypublic class InstrumentationProxy extends Instrumentation { private static final String TAG = "InstrumentationProxy"; Instrumentation instrumentation; public Instrumentatio原创 2022-05-02 21:29:16 · 996 阅读 · 0 评论 -
Android 中SQLite进行读写时,涉及的并发处理问题
相信做Android开发牵扯到SQLite数据库的时候,我们都知道数据库的CRUD都是不支持多线程操作的。当我们要使用多线程的时候,基本上就是为每个线程分配一个SQLiteOpenHelper对象来进行操作,但这样就会产生很大的性能问题,消耗更多的内存空间。在这种情况下,我们一般就会只使用一个SQLiteOpenHelper对象来操作,如果我们要使用多线程,这时就需要注意SQLiteDataB转载 2017-04-19 23:59:29 · 2716 阅读 · 0 评论 -
Android 开发使用MVP产生的内存泄露问题
前段时间使用了mvp写了一个项目,发现这个模式很好用,然后用androidstudio自带的内存检查工具检查,发现好几处内存泄露,其实原因很简单,MVP中由于P对V(Activity)的引用可能导致内存泄漏。我们都知道,当我们使用非静态内部类,或者匿名内部类的时候,由于内部类会默认持有外部类的引用,当我们在内部类中进行耗时操作时,就会长时间保持对外部类的引用导致资源无法释放产生泄漏的可能。原创 2017-04-20 00:25:39 · 2239 阅读 · 0 评论 -
安卓开发中获取服务器网络延迟(ping)
在开发中,突然遇到了一套根据服务器的网络延迟(ping),分为不同的等级贴上核心代码。String delay =newString();Process p =null;try{p = Runtime.getRuntime().exec("/system/bin/ping -c 4 "+"117.141.138.101");BufferedReader buf =newBuffered转载 2017-04-20 00:28:05 · 12355 阅读 · 0 评论 -
网络通讯框架
1 volley特点:能使网络通信更快,更健壮,更简单 Get,Post网络请求及网络图像的高效率异步处理请求 可以对网路请求进行排序优先级管理 网路请求缓存 多级别取消请求 和activity生命周期的联动不适合大数据和流媒体的请求2 Async-http 高原创 2017-04-20 14:00:35 · 777 阅读 · 0 评论 -
常用数据格式xml和json解析
jsoupxml格式数据原生解析有pull和sax两种方式,主要是有两个不同的工厂类XmlPullParserFactory和SaxParserFactory。 介绍一种框架解析jsoup。“`java /* * 1.使用 Jsoup 载入 Html 数据功能 * 数据内容可以是:html文本、url、本地html */ //1.原创 2017-04-21 17:43:45 · 2238 阅读 · 0 评论 -
sqlite的使用及其框架
sqlitepublic static final String CREATE_BOOK = "create table Book(" + "id Integer primary key autoincrement," + "author text," + "pa原创 2017-04-21 16:58:57 · 523 阅读 · 0 评论 -
项目开发实录
最近在搞一个双端app,于是就想在一个工作空间下建两个moudel,新建一个moudle之后发现运行框那里是个错误的符号,提示没有入口activity,检查了一下,发现没有配置intent-filter,配置之后即可。 <intent-filter> <action android:name="android.intent.action.MAIN" />原创 2017-05-31 10:43:11 · 405 阅读 · 0 评论 -
反射获取bean类的field,多了个change 和序列化号
今天写一个方法用于为传过来的类赋值方便使用(因为bean类太多),后来用反射拿属性,发现长度多了两个,打印出来才发现多了题目中的两个,自己又在eclipse中测试,发现正常,折腾了好久才发现是AndroidStudio的instantrun在做怪,估计用这玩意之所以编译快就是多了这些,当然解决办法是不选择关闭,因为快也是必须的,选择过滤,因为这两个的类型都方便过滤原创 2017-06-09 13:09:46 · 477 阅读 · 0 评论 -
Activity的启动模式
1 standard模式 一个按钮连续点击几次,会不断生成新的activity实例(不同activity实例的hashcode不同),但他们所在的taskId相同–表明这种加载模式不会使用新的Task。 2 singleTop 要启动的目标activity已经位于task栈顶时,系统不会重新创建目标activity的实例,如果目标activity没在栈顶,将会重新创建activ原创 2017-09-12 22:02:24 · 253 阅读 · 0 评论 -
Android的入口
java的入口函数是main,奇怪Android的在哪?ActivityThread public static void main(String[] args) { Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, “ActivityThreadMain”); SamplingProfilerInt原创 2017-09-29 15:34:55 · 476 阅读 · 0 评论 -
Android 不在崩溃
public class NeverCrash { private CrashHandler mCrashHandler; private static NeverCrash mInstance; private NeverCrash() { } private static NeverCrash getInstance() { ...原创 2018-08-19 23:04:46 · 378 阅读 · 0 评论 -
基于网络请求框架的封装
平时开发我们需要用到网络请求框架例如volley和okhttp,但是有时我们需要更换请求框架,下面 就是一个基于代理模式的封装方便我们切换框架。首先定义一个接口,执行请求的类都会实现这个接口package com.example.blank.netprocessor.Processor;import java.util.Map;/** * 作者:Blank on 2017/4/1原创 2017-04-19 23:54:42 · 273 阅读 · 0 评论 -
备忘图片
原来是这么设置的,现在发现好像不用也可以了原创 2017-01-07 13:33:44 · 301 阅读 · 0 评论 -
Volley
在2013年Google I/O大会上推出了一个新的网络通信框架——Volley,把AsyncHttpClient和Universal-Image-Loader的优点集于了一身,既可以像AsyncHttpClient一样非常简单地进行HTTP通信,也可以像Universal-Image-Loader一样轻松加载网络上的图片,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数原创 2017-02-04 16:32:14 · 542 阅读 · 0 评论 -
Android 提醒微技巧
1. Dialog首先来介绍一下Dialog的用法吧,其实很简单,相信大多数人都是经常使用的:AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Title") .setMessage("Dialog content.") .setPositiveBut转载 2016-10-21 12:22:17 · 248 阅读 · 1 评论 -
沉浸式
什么是沉浸式?先来分析一下叫错的原因吧,之所以很多人会叫错,是因为根本就不了解沉浸式是什么意思,然后就人云亦云跟着叫了。那么沉浸式到底是什么意思呢?根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉。比如说现在大热的VR就是主打的沉浸式体验。那么对应到Android操作系统上面,怎样才算是沉浸式体验呢?这个可能在大多数情转载 2016-10-21 12:30:08 · 1114 阅读 · 0 评论 -
Android 冷启动白屏解析
转载郭大神的博客:http://blog.csdn.net/guolin_blog/article/details/51019856上图中的播放速度是实时速度,没有经过加速或减速。可以看到,这就是一个空项目,里面几乎没有任何功能,首次启动白屏竟然持续了5秒钟左右!虽说只是首次启动才会白屏这么长时间,但给用户造成这样的体验,实在是显得我们的程序太业余了,因此必须要想办法解转载 2016-10-21 12:36:16 · 395 阅读 · 0 评论 -
Android开发难点
要说Android开发难点,Android程序员都会有一肚子的话要说,咱们一个一个说,由低到高。 技术层面: 1 代码。这个看个人了,代码的好坏决定着未来。 2适配。代码写好了,能够跑了,但是却发现长期以来被痛骂的适配问题,各种机型,国内的水真深,要适应不同厂商真难。后来突然想为什么android适配不能像前端一样,许多前端都不知道什么叫适配,百分比适配。后来原创 2016-11-07 12:55:36 · 5639 阅读 · 0 评论 -
Android中ImageView的点击变暗效果
实现点击图片(ImageView)变暗效果,有一个较简单的方法,就是讲目标图片设置为背景图片(setBackground),再创建一个selector.xml文件,里面放置一张普通状态时的透明图片,一张点击状态下的棕色半透明图片,将其设置为ImageView的源图片。这样在点击ImageView时,源图片会变换透明度,达到变暗效果。但这种方法有个缺点:由于源图片已经被限制死了,假如我们需要自定义背转载 2016-10-27 12:21:34 · 4542 阅读 · 0 评论 -
Serializable和Parcelable
使用Intent来传递对象通常有两种方式,Serializable和Parcelable。 Serializable是序列化的意思,表示将一个对象转换成可以存储或可传输的状态。序列化后可以在网络上进行传输,也可以存储到本地。方法是实现这个接口就好了。 除了使用Serializable还可以使用Parcelable也可以实现相同的效果,不过不同于将对象进行序列化,Parce原创 2016-10-31 15:13:03 · 316 阅读 · 0 评论 -
Failed to pull selection
想查看加密过后的文件,发现软件本身带的软件老是失败,所以想用命令行,具体是进去到platform-tools里,然后 adb pull /data/data/包名/shared_prefs,复制就可以了,具体还有一个push的命令,应该差不多。原创 2016-10-27 18:48:14 · 302 阅读 · 0 评论 -
ProgressDialog的
使用ProgressDialog的时候遇到了一些坑,以下这个写法是正确的,Private ProgressDialog pd; pd=new ProgressDialog(this); pd.setMessage("就是这么帅"); pd.show(); pd.setCancelable(false); //这个对话框,触摸和返回键都消失原创 2016-11-29 15:20:41 · 382 阅读 · 0 评论 -
Android Studio第三方jar的使用
Android Studio 简介几天前的晚上突然又想使用 Android Studio,结果竟然把之前无法攻克的问题全都解决了,包括之前很困扰的第三方开源库的引入问题,现在也都很轻松了,所以 eclipse 的工作几乎都可以转移过去。并且试用了一晚上,比 eclipse 强大多了!看来,eclipse For Java & Android 的地位毫无疑问终将被 IntelliJ ID转载 2016-11-17 16:36:10 · 256 阅读 · 0 评论 -
浅谈MVP架构在Android中的使用
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46596109; 本文出自:【张鸿洋的博客】最近在研究如何让代码更清晰,所以看到了洋神的博客,看了好一会感觉太棒了。一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和Vi转载 2016-11-15 16:53:53 · 556 阅读 · 0 评论 -
QQ登录遇到的坑
昨天尝试接入第三方qq登录,遇到不少坑。 1 首先是常识,如果想让(大前提同一个开发者账号)web和手机端应用使用同一套用户系统,同一个qq号因为appid和appkey的不同导致openid不同,所以会生成两个用户,这是其一,其他第三方好像没有qq这么坑,解决办法:1 可以关联Appid,web端已上线,创建移动应用时可以关联appid。2申请打通原创 2016-12-02 12:12:13 · 988 阅读 · 0 评论 -
在继承AppcompatActivity中去掉标题崩溃的问题
继承了AppCompatActicity之后想去掉标题栏发现使用requestWindowFeature(Window.FEATURE_NO_TITLE)会直接崩溃,网上找到方案说是放在第一行或使用requestWindowFeature(Window.FEATURE_NO_TITLE),这两个方案没崩溃但经测试没有隐藏标题栏,所以搜索后发现使用getSupportActionBar().hide原创 2016-11-24 17:17:06 · 1349 阅读 · 0 评论 -
技术总结
最近项目要完了,要做技术总结,一方面总结经验教训,一方面抒发感情。—————————————————————————————————————————————————————————————————————————————原创 2016-12-26 10:40:36 · 266 阅读 · 0 评论