所有体系都有潜规则,android 开发也不例外,新手需要花一些时间解决莫名其妙的问题,在此记录一下。

(1)开发工具:adt-bundle-windows-x86-20130219

(2)编译没错,运行时报错:

UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added

...

Conversion to Dalvik format failed with error 1

问题都知道,是打包时有两个相同的 class,但并不知道是如何重复的,因我的 jar 包只引入了一个。后来才发现,libs->Build path->Use as source Folder 是个愚蠢的错误,将它移除后就解决了问题。

(3)安装 maven 很费劲,http://blog.csdn.net/cai5/article/details/7328422

按照这个步骤行不通,安装 svn 时出了问题,后来直接下载 plugin 安装包,解压到 eclipse 才了事,可以安装 maven 了。

(4)libs 目录会自动打包到 apk.

(5)切换 fragment 最流畅的办法,不用 attach 和 detach,而用 hide 和 show

@Overridepublic Object instantiateItem(ViewGroup container, int position) {if (mCurTransaction == null) {mCurTransaction = mFragmentManager.beginTransaction();}// Do we already have this fragment?String name = makeFragmentName(container.getId(), position);Fragment fragment = mFragmentManager.findFragmentByTag(name);if (fragment != null) {if (DEBUG)Log.v(TAG, "Attaching item #" + position + ": f=" + fragment);// mCurTransaction.attach(fragment);mCurTransaction.show(fragment);} else {fragment = getItem(position);if (DEBUG)Log.v(TAG, "Adding item #" + position + ": f=" + fragment);mCurTransaction.add(container.getId(), fragment, makeFragmentName(container.getId(), position));}if (fragment != mCurrentPrimaryItem) {fragment.setMenuVisibility(false);fragment.setUserVisibleHint(false);}return fragment;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {if (mCurTransaction == null) {mCurTransaction = mFragmentManager.beginTransaction();}if (DEBUG)Log.v(TAG, "Detaching item #" + position + ": f=" + object + " v=" + ((Fragment) object).getView());//mCurTransaction.detach((Fragment) object);mCurTransaction.hide((Fragment) object);}

(6)4.0版本上运行OK的程序在2.3平台遇到问题,复制完数据库后再打开,总是报数据库打开错误,最后解决方法是用 sqlite3.6.22 版本的管理器创建数据库,然后导入高版本的SQL语句,重新部署到 Android 2.3 上成功。

(7)小米手机取图片切割有问题,其他手机没问题,解决方法:保存的时候,重建自己的文件名,不放在系统图片目录之下。

Intent intent = new Intent();intent.setAction(Intent.ACTION_GET_CONTENT);intent.setType("image/*");intent.putExtra("crop", "true");intent.putExtra("aspectX", aspectX);intent.putExtra("aspectY", aspectY);// outputX outputY 是裁剪图片宽高intent.putExtra("noFaceDetection", true);//File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "temp");File mediaStorageDir = new File(Environment.getExternalStorageDirectory().getPath() + File.separator + "myapp" + File.separator+ "temp");outputImageFile = mediaStorageDir;intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(outputImageFile));activity.startActivityForResult(intent, REQUEST_CODE_SELECT_PHOTO);

(8) 小米列表多选乱跳问题

移除代码即可解决://lvContent.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. Pycharm安装PyQt5的详细教程
  3. Android(安卓)获取已经安装的程序
  4. 【Android】Vitamio 4.0 公测版发布(2013-05-28)
  5. Android(安卓)SDK Manager国内下载缓慢的问题
  6. org.opencv.android.JavaCameraView 摄像机方向的问题
  7. 如何在win7下安装和配置Android(安卓)Studio
  8. [原创] Android(安卓)SDK 安装全记录
  9. Android应用程序编译问题

随机推荐

  1. Android(安卓)Drawable在XML和JAVA的表示
  2. Android(安卓)# 基础汇总
  3. android shape
  4. android相对布局
  5. 保证editView大小不变防止输入过多变形以
  6. android sms发送、接收及格式
  7. Android(安卓)Selector 与 Shape 基本用
  8. Android(安卓)layout属性大全
  9. Android(安卓)layout布局属性、标签属性
  10. android中的tab小结