- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 Android应用实现安装后自启动
和网上大多数方法一样,使用广播手段:ACTION_PACKAGE_ADDED 一个新应用包已经安装在设备上,数据包括包名(最新安装的包程序不能接收到这个广播)ACTION_PACKAGE_REPLACED 一个新版本的应用安装到设备,替换之前已经存在的版本ACTION_PACKAGE_CHANGED 一个已存在的应用程序包已经改变,包括包名ACTION_PACKAGE_REMO
2017-11-21 14:29:56
10147
3
原创 Android 以太网DHCP、STATIC两种IP分配方式的API调用
Android4.0已经加入了以太网的支持,但4.0和5.0及以后安卓版本的相关代码差距还是蛮大的,5.0之后的主要API代码就没什么差别了。这里介绍5.1的API调用方法实现以太网两种方式上网:(最后使用到了EthernetManager类的API,EthernetManager类是@hide的,通过SDK访问不到。我这里是在系统应用中添加的需求,系统级App是可以访问到的。第三方app可以
2017-10-12 10:56:44
7273
原创 Framework中添加并引用资源
在添加新资源到framework后,要想引用该资源ID,需要以下几步:1.添加资源(如图片、字符串)到framework/base/core/res/res对应类型文件的目录。2.在framework/base/core/res/res/values/symbols.xml中仿照其格式声明资源ID。(当然你可以在此步之后全编,省略3\4\5步)3.单独编译fra
2017-04-14 11:36:32
2122
原创 Android反编译与回编译
在查阅了相关资料并动手尝试后,成功反编译apk(其实就是反编译dex、.jar、.class等文件)。我的电脑环境:ubuntu14.04 64位。工具介绍(皆为linux平台下版本)1. dex2jar-2.0 把apk的.dex文件转换为.jar文件2. jd-gui-0.3.5.linux.i686 用于打开.jar文件(其实也就是打开jar包中的.class文件看到源码)
2016-08-12 11:48:36
2885
原创 (Linux平台)在Android中调用JNI
(需要使用NDK工具编译生成.so文件,所以请先下载NDK,附地址: http://wear.techbrood.com/tools/sdk/ndk/index.html ,请选择对应平台下载)一、编写APP时,使用:static {System.loadLibrary("native库名,一般为C/C++文件名");}二、声明native方法,如:pu
2016-07-29 20:13:00
1857
原创 关于使用smack4.x 在android平台开发时的jar包问题小结
【自己在androidStudio上使用smack开发即时通讯app刚开始时遇到一系列问题,最后终于解决,可以连接上openfire服务器并登陆成功,因此总结一下】由于smack是从4.0之后才支持android平台上的开发使用,所以请使用Smack4.0及以上版本jar包,同时只兼容JVMs 1.7及以上版本。 在Android上开发时要注意的问题:官网下载的Smack压缩包中有
2016-01-30 22:45:19
3359
2
转载 死锁的四个必要条件及处理死锁
什么是死锁?如果一个进程集合里面的每个进程都在等待只能由这个集合中的其他一个进程(包括他自身)才能引发的事件,这种情况就是死锁。这个定义可能有点拗口,下面用一个简单例子说明。 资源A、B,进程C、D描述如下: 资源A和资源B,都是不可剥夺资源, 现在进程C已经申请了资源A,进程D也申请了资源B, 进程C接下来的操作需要用到资源B,而进程D恰好也在
2015-10-07 23:35:05
692
转载 进程调度算法简介
先来先服务(First Come First Service,FCFS)调度算法按照进程进入就绪队列的先后顺序选择可以占用处理器的进程。这是一种不可抢占方式的调度算法,优点是实现简单,缺点是后来的进程等待CPU的时间较长。它现今主要用作辅助调度法;例如结合在优先级调度算法中使用,当有两个最高优先级的进程时,则谁先来,谁就先被调度。短执行进程优先算法(Shortest Process F
2015-10-07 23:30:45
1253
转载 zxing生成的二维码(bitmap)保存到sdcard一团黑解决办法
android zxing生成二维码是bitmap对象,如果保存bitmap到sdcard查看的时候会发现图片是一片漆黑。解决方法:Bitmap qrCodeBitmap = EncodingHandler.createQRCode(contentString, 500);在这句代码中,ctrl+左键点击createQRCode,查看EncodingHandler中的c
2015-04-14 01:45:19
1935
转载 Android 编程下 Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:Tou
2015-03-16 22:01:23
594
转载 安卓中图片上传到指定的服务器
界面很简单,点击 【选择图片】,从图库里选择图片,显示到下面的imageview里,点击上传,就会上传到指定的服务器 布局文件: [html] android:orientation="vertical" android:layout_width="fill_parent"
2015-03-16 20:16:40
947
原创 onFling()与onScroll()的具体区别
在手势检测中,onFling()与onScroll()有点类似,一个为“滑动”,一个为“拖动”。都是手指在屏幕(或某一组件)上移动一段距离后触发。 然而二者毕竟是有区别的:(下面结论是在我自己的demo中亲自操作得出的结果,有不对的请指出错误)一、在滑动距离上,二者没有(明显)区别: 在检测效果的操作中,滑动距离无论长短都会触发。
2014-12-14 15:57:10
2614
转载 集合类说明及区别
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(E
2014-09-20 13:06:44
679
原创 对象数组报错“空指针”:Exception in thread "main" java.lang.NullPointerException
Dog[]dogs=new Dog[4]; //这里虽然创建了对象数组,大小为4,但并没有为每个对象分配空间,即每个对象都是为空的。所以先要为对象开辟空间:dogs[0]=new Dog(); Exception in thread "main" java.lang.NullPointerException at Alone_6.main(Alone_
2014-05-02 00:49:09
8394
1
转载 SQLiteDataBase对象的query()
SQLiteDataBase对象的query()接口:public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy,String limit)Query
2014-05-01 22:23:41
984
转载 TabHost的使用
今天讲一下,如何在TabHost中,再放TabHost。先来看一下效果。一层TabHost 两层Tabhost (内部TabHots在上面),如上右图所示。两层TabHost (内层TabHots在下面)下面说一下代码,一共3个 java类,3个xml布局文件。看一下主画面:main.xml
2014-04-08 17:39:14
842
原创 安卓‘进度条ProgressBar’中‘setIndeterminate()’方法的辨析
在进度条的设置中,setIndeterminate()方法是用来设置进度条是否采用‘模糊模式’(这是我杜撰的名称,但意思没 错,Indeterminate的意思就是‘不确定的,模糊的,不明确的’)当设置setIndeterminate(true)参数为真时,进度条采用不明确显示进度的‘模糊模式’,当设置setIndetermina
2014-03-30 20:05:01
16396
转载 imageView中图片各种比例类型的显示方式的参数设置
android:scaleType的各个属性ImageView.ScaleType.CENTER|android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽,则截取图片的居中部分显
2014-03-21 20:55:30
2840
原创 导入工程时出现Unable to resolve target 'android-18' error解决办法
在Eclipse/MyEclipse导入工程时会有“Unable to resolve target 'android-18' error”的报错,是因为你的Eclipse/MyEclipse所安装使用的SDK版本与导入的工程所使用的不同。解决办法: 找到你工程所在的根目录/(工程文件夹)/project.properties文件,(下图是我的工程目录文件)
2014-03-21 18:19:55
20184
2
转载 Android-Looper类介绍
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。 Handler其实可以看做是一个工具类,用来向消息队列中插入消息的。(1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线
2014-03-08 19:05:02
771
转载 Android中的Handler总结
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要
2014-03-07 17:53:15
845
转载 线程的四种状态
一个线程可以有四种状态:(1) 新(New):线程对象已经创建,但尚未启动,所以不可运行。(2) 可运行(Runnable):意味着一旦时间分片机制有空闲的CPU周期提供给一个线程,那个线程便可立即开始运行。因此,线程可能在、也可能不在运行当中,但一旦条件许可,没有什么能阻止它的运行——它既没有“死”掉,也未被“堵塞”。(3) 死(Dead):从自己的run()方法
2014-03-07 16:39:20
1163
原创 The connection to adb is down, and a severe error has occured.的原因与解决办法
问题: 启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.原因: 有时候在先运行了某些程序如qq音乐,Kugou音乐(这两种情况是我自己遇到的), 豌豆荚(这是网上看到的),再运行myeclipse或eclipse时,可能有已开
2014-03-01 21:37:56
1245
转载 动态输入日期与时间
1、日期、时间拾取器为了让用户能够选择日期和时间,Android提供了日期时间拾取器,分别是DatePicker组件和TimePicker组件。这两个组件比较简单,可以再Eclipse的可视化界面中,选择对应组件并拖拽到布局文件中。为了可以再程序中获取用户选择的日期、时间,需要为DatePickerTimePicker组件添加事件监听器。其中,DatePicker组件对应的事件监听器是on
2014-02-24 21:05:20
1074
转载 安卓中的事件监听器
ListView事件监听:setOnItemSelectedListener 鼠标滚动时触发setOnItemClickListener 点击时触发EditText事件监听:setOnKeyListener 获取焦点时触发
2014-02-24 20:33:09
1206
原创 java事件监听器使用小结(个人总结,有错请指)
//第一种:外部定义,通过监听器的对象来调用的监听器 import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*; //定义监听器class MyListener impleme
2014-02-14 01:58:10
2361
转载 黄色警告: This text field does not specify an inputType or a hint
在安卓项目开发中,在设计项目样式使用到EditText这个标签时,有的时候会有警告:This text field does not specify an inputType ora hint原因是:EditText需要指定默认输入类型在标签中加入android:inputType=XXX即可,下面列出XXX的可选值与作用。文本类型,多为大写、小写和数字符号:
2014-01-29 20:11:43
995
原创 安卓界面布局介绍
线性布局:LinerLayout表格布局:TableLayout相对布局:RelativeLayout绝对布局:AbsoluteLayout帧 布 局:FrameLayout一、线性布局(LinearLayout) :线性布局是程序中最常见的一种布局方式,里面可以放多个控件,线性布局通过android:orientation属性可以设置线性布局的方向,分为水平线性布局和垂直
2014-01-19 20:27:37
1963
转载 Android开发中的Log
Android开发中Log的用法 (logcat的功能是由Android的类android.util.Log决定的)利用(My)eclipse开发android程序时,可以利用logcat來看log(“日志”的意思),只要进入DDMS模式,从Window→show view→Logcat就可以开启,这样利用虚拟机操作时就会有信息在Logcat里显示了另外an
2014-01-07 23:14:51
1050
android开发smack即时通讯所需jar包
2016-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人