- 博客(29)
- 资源 (1)
- 收藏
- 关注
转载 Activity & Fragment & tips
相比于Activity来说,创建一个Fragment所需系统资源相比Activity来说更少,然而控制却更为灵活。Fragment一般分为两类,一类是有UI的Fragment,可以作为页面,作为View来展示,另一类是用没有UI的Fragment,一般用作保存数据。封装BaseFragment基类例如为了实例化View,抽象一个getLayoutId方法,子类无需关心具体的创建操作,父类来做View
2016-12-11 17:23:50
401
原创 Cordova plugin
Cordova plugin工程目录src: 各个平台的源码文件,包含 Android ios blackberry 等; www: JavaScript调用native代码的接口文件; plugin.xml: 插件的配置文件编写Android代码首先定义一个类继承自CordovaPlugin:public class Updater extends CordovaPlugin { pu
2016-12-01 09:46:01
2279
原创 JavaScript与Android Native的交互
WebView与Native Android的交互WebView与Native Android的交互添加WebView到你的Android Application在WebView中使用JavaScriptJavaScript调用Android Native代码Android Native代码调用JavaScript代码调试WebView添加WebView到你的Android Applic
2016-10-20 16:20:16
1381
原创 Android多进程
0x00 适用场景1 单进程所分配的内存不够,需要更多的内存。在早期android系统只为一个单进程的应用分配了16M的可用内存,随着手机的硬件的提升和android系统的改进,虽然可分配内存越来越多,但仍旧可以通过开启多进程来获取更多的内存来处理自己App的业务2 独立运行的组件,比如音乐播放器,音乐的后台播放可以放到一个新的进程中,即使负责显示UI的那个进程被回收,音乐也能正常在后台播放等等。
2016-05-16 20:10:00
464
翻译 ListView复用机制
convertView什么时候是NULL? 今天在stackoverflow上看到大神回答的,翻译过来加深印象。第一次翻译,错了别光打脸。 我是传送门 刚开始的我也没有搞懂listview中的复用机制,但是经过几天的琢磨看到了下面的图片后终于有了眉目。图片来自android.amberfog 当你的listview适配了一个含很多数据的adapter,并且显示在屏幕上的时候,即使在你上下滑
2016-05-11 12:22:38
1682
原创 Android ANR的原因及定位
ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。 ANR产生的条件:在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 。
2016-04-22 20:52:17
2881
原创 Java类加载与实例化过程
0x00 背景知识1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化 具体过程是: ①装(加)载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区中,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构,之后可以用Class对象进行相关的反射操作。
2016-03-12 20:32:55
4048
1
原创 Android注入和HOOK
如何理解HOOK?大家可以想象一下个人电脑防火墙,特别是Linux下的iptables和netfilter。 譬如说一条命令iptables -P INPUT DROP可以丢弃所有进入的数据包。 为什么能做到这一点? 数据包从到达网卡一直到传递到上层应用有一条完整的路径,netfilter框架在这条路径上加入了五个钩子函数。这些个钩子函数可以在数据经过自己的时候把它传递给挂在钩子上的处理函数。
2016-03-07 15:49:03
1774
原创 程序执行过程中的堆与栈
1.概念 与数据结构中的栈、堆概念不同。 堆:程序执行过程中的堆是可以动态地扩展和搜索的内存空间,不是连续的内存空间。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。当程序调用malloc、new、free之类的库函数时,堆的大小会变化。 栈:与堆不同,栈的地址是从大到小的连续内存空间,栈顶在底地址端。栈
2015-12-25 18:49:54
2034
1
原创 uImage与zImage的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内 核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。
2015-12-22 20:14:33
531
原创 APP Scode码校验失败 Android studio
230错误,只有格子,没地图。 确定你获取的sha1是debug版,而不是发布版。这是不同的,调试时应该是debug版的sha1. 地址:C:\User\YourUser.android\debug.keystore terminal中运行:keytool -list -v -keystore C:\Users\Administrator\.android\debug.keystore /
2015-11-02 15:29:36
880
原创 Android:Fragment实现带导航条的页面左右切换
首先继承FragmentPagerAdapterpublic class MyFragmentPagerAdapter extends FragmentPagerAdapter{private List<Fragment>fragList;private List<String>titleList;public MyFragmentPagerAdapter(FragmentManager fm,
2015-10-16 19:35:47
629
1
原创 Android:viewPager
viewpager用来实现手机页面的左右切换,本文利用viewPager+PagerTabStrip来实现带顶部导航条的页面切换功能。 首先继承PagerAdapter类来管理页面。public class MyViewPagerAdapter extends PagerAdapter{ private List<View>viewList;//存放需要切换的页面view priva
2015-10-16 19:23:44
368
原创 SDN 岗位轮换实验报告
一、实验环境: 笔记本电脑1台,操作系统:ubuntu13.10桌面版。 控制器使用floodlight,在eclipse中加载启动。 在笔记本电脑上安装Virtualbox,在Virtualbox中源码安装linux操作系统与mininet虚拟网络环境的集成文件。 二、实验方案: 本实验采用在控制层定时更新静态流表的方法完成。PC机一直访问WEB服务器h2,定时时间到WEB服务器A的服务
2015-10-11 17:15:26
679
原创 Android数据存储
内部存储内部存储,就是将文件保存在设备内部存储器中,默认情况下,这些文件是相应程序私有的,对其他程序不透明,对用户也是不透明的,当程序卸载后,这些文件就会被删除。/* *从输入框中获取数据,存入内部存储器中,命名为data。 */et = (EditText) findViewById(R.id.et);存数据:OutputStream os = openFileOutput("data"
2015-09-17 11:00:32
313
原创 Android:SharedPreferences
使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。static fin
2015-09-17 10:48:17
287
原创 Java 浏览器请求与web服务器应答
HTML: 浏览器向web服务器请求网页,使用tcp协议,向其发送特定格式的数据字段,web服务器根据这些字段中携带的信息作出对应的应答。 浏览器请求字段:GET /myweb/1.html HTTP/1.1 // 请求行 请求方式 /myweb/1.html 请求的资源路径 http协议版本。 /*请求消息头 . 属性名:属性值*/Accept: image/gif, im
2015-09-04 14:09:53
427
原创 Java网络编程,UDP TCP
java 中ip对象:InetAddress. import java.net.*; class IPDemo{ public static void main(String[] args) throws UnknownHostException{ //通过名称(ip字符串or主机名)来获取一个ip对象。 InetAddress ip = Inet
2015-09-04 13:49:31
452
原创 Java IO
IO流主要用于磁盘(File)、内存(数组)、键盘(system.in)等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer)。字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节; 字符流使用了字节流读到一个或多个字节(中文对应的字
2015-09-01 11:55:43
288
原创 Android中Timer
Timer的使用方法: private Timer timer = null; private TimerTask task = null;public void startTimer() { timer = new Timer(); task = new TimerTask() { @Override public void run()
2015-07-09 18:44:15
354
原创 Android中Surfaceview的简单使用
使用Surfaceview绘制图形: 1.方法一:创建一个类继承于SurfaceView,并继承接口surface.Callback。重写surfaceCreated(),surfaceChanged(),surfaceDestroyed()方法 class MyView extends SurfaceView implements Callback 方法二:不继承接口,在新创建的类内部创
2015-07-09 18:43:26
500
原创 Android中Intent的简单使用
Intent的使用:1.新的页面启动方式 Intent i = new Intent(); i.setComponent(new ComponentName(“cn.eoe.intents”, “cn.eoe.intents.Aty1”));//第一个参数为当前包名,第二个为目标页面对应的Activity名 startActivity(i);2.打开SD卡上的一张图片: File f = n
2015-07-09 18:41:43
408
原创 Android中Provider的简单使用
Content Provider的简单使用: Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);//改变参数可以改变查询 while(c.moveToNext()) { System.out.println(“>>>>>>>
2015-07-09 18:40:59
719
原创 使用BroadcastReceiver进行信息传递
使用BroadcastReceiver进行信息传递(软件内部和软件之间都行,但是效率低): 1.创建一个类并继承于BroadcastReceiver类:class MyBC extends BroadcastReceiver 2.在AndroidManifest.xml文件的Application中添加一个receiver(MyBc) 3.发送广播信息(发送的是一个Intent): Inte
2015-07-09 18:39:51
557
原创 Android中Service的简单使用
先创建个类,继承于Service类,例如: EchoService.java文件: public class EchoService extends Service { @Override public IBinder onBind(Intent arg0) { System.out.println(“onBind”); return ec
2015-07-09 18:38:13
388
原创 Android中使用Intent进行叶面的跳转
使用Intent进行叶面的跳转: Intent i=new Intent(MainActivity.this,Layout.class);//第一个参数MainActivity.this为当前父类实例的应用,第二个参数Layout.class为需要跳转的类(这个类中的oncreate()方法中需要setcontentview()方法来设置对应的layout文件) startActivity(i)
2015-07-09 18:34:02
360
原创 Activity Fragment完整生命周期
简洁版: Activity的7个生命周期,及其执行顺序。完整版: http://staticfree.info/~steve/complete_android_fragment_lifecycle.png
2015-07-09 18:32:42
349
原创 Android的TitleBar设置
AndroidManifest.xml 里面可以设置APP的主题theme 以及单独设置activity的theme:
2015-07-09 18:28:30
417
原创 文章标题
关于变量的一些小细节:1. byte a=4; byte b=3; byte c=7; a=b+c;编译会出错。2.int x=3; x=x++;结果:x=3因为运行时是:temp=3; x=x+1; x=temp;(赋值语句的缘由)int x=3; x=++x;结果:
2015-04-25 22:37:27
332
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人