- 博客(76)
- 收藏
- 关注
原创 Android版本史
Android迄今历代版本名称Alpha (1.0)Beta (1.1)Cupcake (1.5)Donut (1.6)Eclair (2.0–2.1)Froyo (2.2–2.2.3)Gingerbread (2.3–2.3.7)Honeycomb (3.0–3.2.6)Ice Cream Sandwich (4.0–4.0.4)Jelly Bean (4.1–4.3.1)KitKa
2015-01-12 09:37:35
874
转载 Android内存溢出
最近的项目中,内存一直再增长,但是不知道是什么问题,导致内存溢出,在网上看到了这么一篇关于内存分析与管理的文章,解决了部分问题,感觉这篇文章还不错,就转帖到我的blog上了,希望对大家有所帮助。如果哪里有不好的地方,给留下言,然后我们大家继续完善内存泄露的问题,对大家都会有所帮助的,呵呵一、概述 1二、Android(Java)中常见的容易引起内存泄漏的不良代码 1(一) 查询数据库没
2014-12-07 23:24:15
759
原创 自定义对象的监听方式
问题描述:当一个事件的触发不定期的时候,即我们不知道这个触发何时来到,但是我们却要对这个触发执行某些方法,如何实现?可能的解决方案:我当时就想到了,这个问题类似与Android的部件监听(我没有去看Android的源码,太懒了。。。)。由于现在还在研读Thinking in Java这种入门书籍,突然来了想法,罗列如下,可以通过接口。下面是我写的一个测试的例子首先是一个类似Bu
2014-06-17 23:11:55
1009
原创 如何 TabHostFragment自定义 tab键(indicator)
1 获得 tabHostFragment:ActionBarActivity activity2 = (ActionBarActivity) activity;mTabHost = new FragmentTabHost(activity2);mTabHost.setup(getActivity(),getChildFragmentManager(),R.id.cont
2014-05-08 18:04:06
1261
原创 如何实现drawerNavigation &&&& 改变软件的logo
1需求:点击下面不同的item,会改变上面select旁边的图标,如何实现?2 解决办法:改变应用的logo3 具体步骤:3.1 监听左边这个litview的item点击事件(注,这些items 是放在一个listview中的,所以你可以自定义他的显示样式)3.2 在点检事件触发的时候,replace进入响应的fragment到 frameLayout3.3 同时改变l
2014-05-08 14:47:27
942
原创 fragment中嵌套fragment时,移除 subview问题
问题描述:坑爹的UI将drawerNavigation 和 TabHostFragment设计到了一起,在第一个抽屉中潜逃了一个 3个Tab。 当从第一个抽屉跳转到第二个抽屉,再跳转回第一个抽屉时,就会出现异常,原因是,当我们从第一个抽屉调走的时候,第一个抽屉的那三个tab对应的fragment并没有被消除掉。所以出现了异常。解决办法:跳转的时候消除子fragment.
2014-04-22 21:34:54
1802
原创 getActivity nullPointerException
今天突然出现一个问题。Fragment中getActivity突然不能了,会出现空指针问题。最后也不知道是什么原因引起的。解决办法: @Override public void onAttach(Activity activity) { super.onAttach(activity); mActivity = activity; Log.e(T
2014-04-20 23:39:55
3613
原创 Json in Java 的使用
1 json 就是一种数据的组拼形式,举个例子:{"mine":[{"name":"name0","time":"time0"},{"name":"name1","time":"time1"},{"name":"name2","time":"time2"},{"name":"name3","time":"time3"},{"name":"name4","time":"time4"},{
2014-04-20 15:09:00
1417
原创 如何在一个fragment or 任意类中操作另一个fragment中的方法
1 如果在fragment中要操作一个fragment,首要要得到这个对象,如何得到?使用getActivity中的FragmentMnager的getFragmentByTag,然后就可以使用这个fragment的对象来操作他的方法了。2 如何在任意类中操作一个fragment,首先要得到环境参数,如何得到?在activity中: private static WeakReferen
2014-04-19 09:12:03
4814
原创 drawer navigation, tabhostFragment 默认导向
问题:项目结构,在一个抽屉导航中的第一个抽屉中添加了一个tabHostFragment,每次进入项目都是在抽屉导航的默认界面,需要把抽屉划出来再选择某个抽屉。但是想让APP直接跳转到第一个抽屉界面。// 直接显示第一个抽屉的视图selectItem(0);当然上面的这个方法是自己写的,就在将第一个抽屉对应的fragment replace进来。现在项目已经可以直接跳转到第
2014-04-18 09:53:19
949
原创 判断字符串是否为空,是否只有空格
方式一:自己判断str != null && str.length() != 0alternativelystr != null && !str.equals("")orstr != null && !"".equals(str)Note: The second check (first and second alternatives) assumes str
2014-04-17 17:17:07
10540
原创 如何在GridView中实现多选
1 问题:GridView中图片的展示是没有问题的,但是 当选中了一张or几张图片后,(当展示的图片比较多得情况下,就得滑动gridview已浏览其他的图片),一旦滑动gridview,之前选择的照片就会出现混乱(照片的展示顺序是对的,但是改变的背景会出现在某个没有被选定的照片上面)。2 我选择照片的方式是:当用户点击某个照片时,在setOnItemClickListener或者自定适
2014-04-16 15:00:41
1366
原创 如何获得FragmentTabHost中的某个tab对应的fragment
Fragment fragment = fm.findFragmentByTag("0").getChildFragmentManager().findFragmentByTag("contacts");
2014-03-19 15:34:34
1800
转载 屏幕旋转
1.在应用中固定屏幕方向。 在AndroidManifest.xml的activity中加入: android:screenOrientation=”landscape” 属性即可(landscape是横向,portrait是纵向)。OK2.随屏幕旋转时,不重新调用onCreat
2014-03-19 15:00:25
745
原创 Fragment中添加tabs
package com.example.drawernavigation.fragment;import java.lang.reflect.Method;import com.example.drawernavigation.R;import android.app.Activity;import android.os.Build;import android.os.Bundle
2014-03-19 11:07:22
1704
原创 线程Thread join 方法---优先执行
join方法:当A线程执行到了B线程的join()方法,A就会等待,等B线程都执行完,A才会执行。join可以用来临时加入线程执行。class Demo implements Runnable{ public void run(){ for(int x=0;x<70;x++){ system.out.println(Thread.currentThread().getName
2014-03-17 22:47:21
1181
原创 如何动态对action bar中的items进行操作
/* Called whenever we call invalidateOptionsMenu() */@Overridepublic boolean onPrepareOptionsMenu(Menu menu) {// If thenav drawer is open, hide action items related to the content// viewboolean d
2014-03-17 20:36:05
1016
原创 在不同的界面添加不同的action items
在对应的fragment中:oncreateview(){ setHasOptionsMenu(true); // 加上这个 onCreateOptionsMenu()才会执行}在onCreateOptionsMenu()方法中,添加对应的menu.xml文件 @Override public void onCreateOptionsMenu(Menu menu, Me
2014-03-17 20:20:28
1242
翻译 node.js 学习路径
TutorialsNodeSchool.io interactive lessonsHello WorldHello World Web ServerNode.js guideBuild a blog with Node.js, express and mongodbNode.Js Tutorials At Project 70Node.js for Begin
2014-03-17 16:33:15
1334
翻译 Android Drawable ---Bitmap xml
Android支持三种位图格式:.png(推荐使用)、.jpg(可以接受)、.gif(不推荐)。你可以使用位图文件的文件名作为资源ID来直接引用位图文件,也可以在XML中定义一个资源别名。注意:在程序build的过程中位图文件会被aapt工具自动无损压缩来优化。比如,如果一个全彩的PNG图片所需要的色彩不超过256色,aapt工具就会使用一个调色板来将该图转换成一张8位的PNG图。
2014-03-14 17:59:06
1309
原创 Service : Intent Service
http://code.tutsplus.com/tutorials/android-fundamentals-intentservice-basics--mobile-6183之后更新
2014-03-14 09:12:45
890
原创 Content Provider(一) basics
package com.example.drawernavigation.fragment;import com.example.drawernavigation.MainActivity;import com.example.drawernavigation.R;import android.app.Activity;import android.content.ContentVal
2014-03-12 15:48:49
827
原创 空指针问题
这个问题很低级,,,但是此类错误犯过好多次,每次都该一堆代码,原因却只是:在fragment中,获取控件,使用了getActivity.findviewById(...), fragment中要使用view.findviewById().....
2014-03-11 15:20:29
783
原创 Navigation drawer 和 Up Carat在fragments中的转换
问题:在使用抽屉的情况下,往下层fragment导航,其中某一个下层的fragment需要网上导航,即在这个fragment中,按压logo不希望出现抽屉而是希望出现向上导航。When using the Navigation Drawer the Android devs are recommending that in the ActionBar "only those screens t
2014-03-11 13:43:47
2124
原创 Thread线程间通讯-wait,notify
解释:When two or more threads need access to a shared resource, they need some way to ensure that the resource will be used by only one thread at a time.The process by which this synchronization
2014-03-10 22:33:40
826
原创 自定义 action Bar
问题:有时需要将aciton items从坐向右排列,或者在action bar上显示更多的内容。//hiding default app iconActionBar actionBar = getActionBar();actionBar.setDisplayShowHomeEnabled(false);//displaying custom ActionBarView mAct
2014-03-10 17:32:32
932
原创 Gesture--向上滑动,上下滑动
问题:在写一个手机通讯录界面,已完成界面,但是为了能够在屏幕上面显示更多内容,希望能够下往上滑的时候隐藏四个tabs,而在向下滑得时候再显示这四个tabs.解决方案:Android中Schrolling 主要包含两中方式:Dragging:拖动,Fling:扔,区别在于速度上面。明显此刻的需求要求使用fling. 在onFling()方法中可以得到fling开始和结尾的x,y轴
2014-03-07 16:16:43
1552
原创 Fragment中监听事件
问题:Fragment中没有提供监听touch事件的方法。解决方案:Activity中能够监听touch事件。于是在Activity中写一个接口,MyOnTouchListener,在需要监听touch事件的fragment中实现这个窗口。在Activity中实现如下方法:/*** 以下的几个方法用来,让fragment能够监听touch事件*/
2014-03-06 18:23:42
4068
1
原创 多线程
概念:进程--是一个正在执行中的程序。 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫做一个控制单元。线程--就是进程中的一个独立的控制单元。 线程在控制着进程的执行。Java虚拟机启动的时候会有一个进程java.exe, 该进程中至少有一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中,改线程称之为主线程。扩展:其实更细节
2014-03-04 23:12:01
853
原创 单例设计模式
什么是设计模式:设计模式是解决某一类问题最行之有效的方法,是前人总结的。Java中有23中设计模式;单例设计模式:解决一个类在内存只存在一个对象的方法。为何要保证对象唯一:1 为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象。2 为了让其他程序可以访问该类对象,只好在本类中,自定义一个对象。3 为了方便其他程序对自定义对象的访问,可以对外提供一些访问
2014-03-03 22:33:56
793
原创 new一个对象的过程
class A{private String name;private int age;static {}{}public void A(String name,int age){this.name = name;this.age = age;} }class B{public static void main(String[] ar
2014-03-03 21:08:48
1860
转载 静态代码块 构造代码块 构造函数 的用法和执行顺序
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执
2014-03-03 20:25:14
707
原创 Eclipse生成javaDoc文档
API: application program interface 就是javaDoc文档javaDoc文档的作用:1 我们写的类都是封装过的,如何告诉别人如何使用,就是通过我们写的javaDoc文档,即将我们对类中方法的注释转换而来的文档。使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Expo
2014-03-02 22:53:01
1030
原创 面向对象-关于静态
1静态可以修饰:成员变量和成员函数。什么时候定义静态变量(类变量):当对象中出现数据共享时,该数据被静态所修饰。对象中的特有数据要定义成非静态,存在于堆内存中。什么时候定义静态函数:当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。eg:class Person{String name;public voi
2014-03-02 22:25:11
1231
原创 drawerNavigation被fragment overlay, FragmentTabHost使用
当遇到一个坑爹的设计师,,,,要求同时使用drawerNavigation和 Tabs时。。。。打开抽屉时,发现抽屉被被还有tabs的fragment overlay。。。。。1 原因:drawerNavigation 一般是overlay所有的界面,但是overlay 含有tabs的fragment2 解决办法:1可以 隐藏掉所有的现在可见的fragment,效果差2
2014-02-28 18:09:57
1443
转载 Android图片的获取和存储
如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加上文件缓存。文件缓存空间也不是无限大的,容量越大读取效率越低,因此可以设置一个限定大小比如10M,或者限定保存时间比如一天。因此,加载图片的流程应该是:1、先
2014-02-28 11:03:49
809
原创 ActionBarActivity & FragmentActivity
1 ActionBarActivity 是FragmentActivity的一个子类2 ActionBarActivity 加入了对actionBar的操作, 比如getSupportActionBar3 FragmentActivity 也可以对actionBar的操作,比如getActionBar, 使用getActionBar就意味着只有Android4.0以后的版本才支持。4
2014-02-26 14:45:57
2898
转载 setHomeButtonEnabled 和 setDisplayHomeAsUpEnabled
setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击 false 不可以点击。actionBar.setDisplayHomeAsUpEnabled(true) // 给左上角图标的左边加上一个返回的图标 。对应ActionBar.
2014-02-26 13:27:01
758
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人