- 博客(76)
- 资源 (4)
- 收藏
- 关注
转载 WebView loadurl导致的空指针问题
之前遇到webview空指针问题,调查了一下源码,追述到webviewCore原来在webview执行destory之后,webviewCore会被置为null,而这时候我们的webview仍然没有任何的迹象,所以我们仍然大胆地使用webview,在执行到loadUrl或者stopLoading等方法时,由于webviewCore已经为null,这时就产生了空指针,异常信息如下:
2015-07-01 19:32:34
2890
转载 关于android 4.2版本的sdcard文件目录分析(含修正)
在android 4.2版本之前,通过Environment.getExternalStorageDirectory()获取的sdcard默认目录是正常的,可进行读写,一般的结果是“/mnt/sdcard”,但是在4.2版本之后,获取的sdcard目录是“/storage/emulated/0”,使用File.exist()方法返回true表示文件/目录是存在的,但是通过adb向该返回的目录中写数
2014-12-08 20:27:27
522
原创 禁止gallery手动滑动,但可以响应item的点击
if (!(mContext instanceof ShenbianActivity)) { mScaleGallery.setOnTouchListener(mOnTouchListener); }
2014-11-21 17:05:52
1205
原创 bug
09-18 10:41:08.898: E/AndroidRuntime(10832): FATAL EXCEPTION: main09-18 10:41:08.898: E/AndroidRuntime(10832): android.view.InflateException: Binary XML file line #141: Error inflating class com.gg.
2014-09-17 10:17:26
648
原创 cat命令执行失败
还原失败原因 root@mako:# cat /data/data/pkg/abc.apk > /system/app/abc.apksh: can't create /system/app/abc.apk: Read-only file system解:mount -o remount,rw /system 修改为rw
2014-07-25 18:58:54
3107
转载 Application
Applicationandroid系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application是单例 (singleton)模式的一个类。且application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。因为它是全局的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象。因此在安卓中我们可以避免使
2014-07-21 17:42:31
592
原创 单例模式VS静态方法VS每次new对象
http://blog.youkuaiyun.com/johnny901114/article/details/11969015 程序设计之---单例模式VS静态方法http://javarevisited.blogspot.com/2013/03/difference-between-singleton-pattern-vs-static-class-java.html
2014-07-21 17:37:08
989
原创 thread
Thread.interrupt()方法的作用有限,如果线程中没有sleep 、wait、Condition、定时锁等应用, interrupt()方法是无法中断当前的线程的。所以,ShutdownNow()并不代表线程池就一定立即就能退出,它可能必须要等待所有正在执行的任务都执行完成了才能退出。
2014-07-17 10:48:17
526
转载 java线程同步
(a).重入方面其内部的WriteLock可以获取ReadLock,但是反过来ReadLock想要获得WriteLock则永远都不要想。(b).WriteLock可以降级为ReadLock,顺序是:先获得WriteLock再获得ReadLock,然后释放WriteLock,这时候线程将保持Readlock的持 有。反过来ReadLock想要升级为WriteLock则不可能,为什么?参看(a),
2014-07-16 15:23:14
506
转载 android几个文件目录
/system 存放的是rom的信息;/system/app 存放rom本身附带的软件即系统软件;/system/data 存放/system/app 中核心系统软件的数据文件信息。/data 存放的是用户的软件信息(非自带rom安装的软件);/data/app 存放用户安装的软件;/data/data 存放所有软件(包括/system/app 和 /data/app 和 /mnt/asec中装的
2014-07-07 14:06:52
607
原创 ListView使用注意
<ListView android:id="@+id/MainListView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@id/bottom_layout" android:background="#ffeded
2014-06-23 21:10:47
621
原创 ArrayList排序
默认为升序,return arg0.compareTo(arg1); 改为:return arg1.compareTo(arg0); 就成倒序的了。。
2014-06-23 15:12:36
598
转载 ListView设置emptyView的限制
最新开发一个应用程序,当ListView为空时需要设置一些View来显示提示内容。我们知道ListView有一个公开的方法——setEmptyView(View v)——用来设置ListView为空时的内容。可是这个方法的设置是有限制的,就是设置的View必需在当前的View hierarchy里,亦即这个View需要被add到当前Viewhierarchy的一个结点上,如果没有添加到结点上的
2014-06-05 21:29:42
520
原创 thread和runnable
class MyRun implements Runnable { @Override public void run() { System.out.println("MyRun.run()"); }}class MyThread extends Thread { public MyThread(Runnable runner) { super(runner); } @O
2014-05-26 12:26:13
485
原创 registerReceiver和unregisterReceiver的调用者必须一致
// registerReceiver和unregisterReceiver的调用者必须一致protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.broadcast); IntentFilter intentFilt
2014-04-24 16:05:57
16517
原创 向Fragment传递参数
在执行一些动作时需要传递变量到 MyFragment,解决方案:使用newInstancepublic class MyFragment extends Fragment {public static MyFragment newInstance(int num) {MyFragment f = new MyFragment(); // Supply num input a
2014-03-12 12:12:40
734
转载 SVN
假设我们有许多个版本,版本号分别是1-10如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除如果在7选择revert changes from this version那么7版本的修改将会被消除如果同时选择7,8 revert changes from this version那么7和8两个版本的所做的修改都会被消除
2014-02-25 15:24:44
556
原创 短信
public class SmsUtil { public static void sendSms(Context context, String number, String body) { String uri = null; if (TextUtils.isEmpty(number)) { uri = "smsto:"; } else { Pattern p =
2014-02-19 21:37:58
516
转载 非递归遍历文件
import java.io.*;import java.util.LinkedList;public class LoopDir { public static void main(String[] args) { long count = 0; long countd = 0; // 链表(存放目录,不放文件) LinkedList list = new Link
2014-02-11 11:30:36
495
转载 android路径
Activity提供了getCacheDir()和getFilesDir()方法:getCacheDir()方法用于获取/data/data//cache目录getFilesDir()方法用于获取/data/data//files目录将文件写入SD卡内:获取SDCard的状态:Environment.getExtemalStorageState()
2014-02-10 17:31:38
589
转载 AsyncTask
//三种泛型类型分别代表“启动任务执行的输入参数”、“后台任务执行的进度”、“后台计算结果的类型”。在特定场合下,并不是所有类型都被使用,如果没有被使用,可以用java.lang.Void类型代替private class MyTask extends AsyncTask { // onPreExecute方法用于在执行后台任务前做一些UI操作 @Override pro
2014-02-08 17:54:37
516
转载 onMeasure
@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec));}// The width of the view
2014-01-17 14:48:25
546
转载 requestLayout
public void requestLayout ()Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree.我们可以理解为重新布局了一下view
2014-01-13 14:31:32
745
原创 listview
listview刷新后位置的问题,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶。
2014-01-07 10:34:30
502
转载 获取正在运行的桌面包名
public static String getLauncherPackageName(Context context) { final Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); final ResolveInfo res = conte
2013-12-23 17:26:40
639
原创 setTextColor
// mTextView.setTextColor(Color.parseColor("#ff00ff"));// mTextView.setTextColor(0xff0000FF); // 00透明,必须是8个的颜色表示// mTextView.setTextColor(getResources().getColor(R.color.blue));
2013-11-27 19:43:40
760
原创 ListView设置当前在第几行
private int mPostion = 0;ListView mListView.setSelection(mPostion);
2013-11-26 17:16:21
842
原创 保存短信到发件箱
public static void saveSMSToSendBox(Context context, String number, String body) { try { ContentValues values = new ContentValues(); values.put("address", number);
2013-11-22 18:25:41
659
原创 静态内部类
什么时候使用静态成员类 B为A的辅助类,且只为A所用时,可将B定义为A的静态成员类参考: http://www.cnblogs.com/simply-zhao/archive/2008/04/13/1151122.html
2013-11-13 11:27:49
526
原创 android 定时器
Handler mHandler = new Handler();Runnable mRunnable = new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "gg", Toast.LENGTH_SHORT).show(); mHan
2013-11-13 10:56:08
438
原创 数据库 存图片
private static void createBitmTable(SQLiteDatabase db) { String bitmapTable = "create table if not exists bitmap (data BLOB)"; db.execSQL(bitmapTable);}public static void insertBitmap(SQLit
2013-11-03 17:35:23
711
转载 Camere相机的使用
/** * 定制自己的Camera。 * Android提供了Camera类来辅助我们实现自己的Camera。 * 首先,在Manifest中需要引入权限 * 其次,我们需要用来存放取景器的容器,这个容器就是SurfaceView。 * 使用SurfaceView的同时,我们还需要使用到SurfaceHolder, * SurfaceHolder相当于一个监听器,可以监听 Surfac
2013-09-12 12:02:17
1061
原创 Json
public class JsonTools { public JsonTools() { } // {"persons":[{"id":1001,"address":"China","name":"cat"},{"id":1002,"address":"Japan","name":"dog"}]} public static JSONObject create
2013-09-04 14:45:16
655
原创 HttpClient
//HttpClient httpClient = new DefaultHttpClient();private void httpGetData() { new Thread() { @Override public void run() { // 创建一个HttpGet对象 HttpGet httpG
2013-09-03 16:35:56
690
原创 读写SD卡上的文件
public String getFileFromSdcard(String fileName) { // 缓存的流,和磁盘无关,不需要关闭 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); if (Environment.MEDIA_MOUNTED.equals(Environment.
2013-09-03 15:19:36
608
转载 DisplayMetrics和Display浅析
得到一个屏幕尺寸的三种方法如下:// 通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);// 通过Resources获取 DisplayMetrics dm2 = getResources().getD
2013-09-02 18:04:56
1394
原创 Android中的Handler
1、主线程给自己发送Messagepublic class MainActivity extends Activity { private Button mBtn; private TextView mText; private Handler mHandler; @Override public void onCreate(Bundle save
2013-09-02 16:45:21
786
原创 android中的static
public class MainActivity extends Activity { private static boolean Flag = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
2013-09-02 14:20:34
876
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人