安卓调试记录

---------------------------------------

android无线调试执行adb connect 报错

执行 adb connect 命令时一直报错,错误信息只是个简单的“error:”

解决:

重新执行 adb start-server 和 adb kill-server 后正常。

android无线调试执行adb connect 报错:not implement

解决:

关闭 360  豌豆荚 这一类带有adb的 软件。

---------------------------------------

db.execSQL("delete from table",null);第二个参数不能为null,传递new Object[]{}就OK了。

---------------------------------------

 使用 rawQuery 或者 execSQL时,如果不使用第二个参数(selectionArgs),而是在第一个参数组合生成查询语句,则需要把字符串参数用单引号括起来。

比如:

以下语句错误:

String sTemp = "select * from '" + sTableName + "' where CopZDMC = '" + sCopZDMC + "' and CopImportTime = " + sCopImportTime;

cursor = db.rawQuery(sTemp, new String[] {});

以下语句正确:
String sTemp = "select * from '" + sTableName + "' where CopZDMC = '" + sCopZDMC + "' and CopImportTime = '" + sCopImportTime + "'";

cursor = db.rawQuery(sTemp, new String[] {});

当传入的参数中 sCopImportTime 为 2014-12-21T00:00:00+08:00  时,可以重现出错误。

--------------------------------------

如何刷新listView的数据

(例如一个列表,初始时为空,当我点击某个按钮后,程序从服务器端取到了数据,然后需要在列表上显示)

首先,在onCreate中 我有如下代码:(在初始执行时,mydb.getAllXianJu() 取到的数据为空)

listView = (ListView) this.findViewById(R.id.listview);

String[] from = { "OrgId", "OrgName" };
int[] to = { R.id.online_user_list_item_textview_id, R.id.online_user_list_item_textview_name };
adaptor = new SimpleAdapter(MainActivity.this,mydb.getAllXianJu(),R.layout.online_user_list_item, from,to);

listView.setAdapter(adaptor);

然后,在刷新完数据后,这样更新:(用消息的方式调用,以异步运行;更新的代码和onCreate中的代码基本一样。)

Handler handlerGetOrganInfo = new Handler() {
public void handleMessage(Message msg) {
//

String[] from = { "OrgId", "OrgName" };
int[] to = { R.id.online_user_list_item_textview_id, R.id.online_user_list_item_textview_name };
adaptor = new SimpleAdapter(MainActivity.this,mydb.getAllXianJu(),R.layout.online_user_list_item, from,to);

listView.setAdapter(adaptor);

adaptor.notifyDataSetChanged();
}
};

--------------------------------------

android开发中使用kSOAP2提供的调用webservice 服务时 出现“double ID exception”解决办法

“remove the <diffgr:before> tag and its inner contents.”

即在webservice中执行AcceptChanges

public DataSet SyncedWall()
{
DataSet dst = dscomment;
dst.Tables[0].Rows[i]["WallInfo"] = "my own modified value";
dst.AcceptChanges();
return dst;
}

原帖见:

http://stackoverflow.com/questions/6073129/how-to-remove-diffgrbefore-content-from-returned-dataset-via-webservice

--------------------------------------

项目导入

导入项目时报错: invalid project description

展开详细信息看到:***overlaps the location of another project: ***

原因:下载工程时把该工程放在了workspace目录下。eclipse插件在创建项目的时候需要在workspace目录下创建一个同名的目录。 但发现workspace目录下已存在对应的目录时,就会报上面的处错误信息了。
解决:
把工程从workspace中移出来就可以了,重新导入就可以了。

--------------------------------------

把第二个项目作为library 添加到第一个项目里面
项目右键->properties ->android ->下面有个Library->add

------------------------------------------

有时候,你建立Android Project的时候,选择较低的 min API Level,在程序中复写(@Override)某个基类的方法时,会出现错误提示,诸如:Field requires API level 5 (current min is 4)。

意思是这个复写方法不支持你的min API Level 4,只支持min API Level 5及以上,你可以通过调高min API Level等级来解决这个问题,方法如下:
1. 打开工程根路径下的Manifest文件:AndroidManifest.xml;
2. 修改其中的uses-sdk标签内容:
比如,原先是:
        android:minSdkVersion="4"
        android:targetSdkVersion="15" />
现在修改为:
        android:minSdkVersion="5"
        android:targetSdkVersion="15" />
保存就OK了。
 
------------------------------------------

fragment的context要怎么获取?

getActivity

------------------------------------------

fragment中获取某个控件的id,不能在onCreateView中获取,而要在onActivityCreated中获取

------------------------------------------

由于在activity中应用了theme导致默认的日期对话框(DatePickerDialog)为没有滑动功能的,为了将其调整为带滑动功能的,可以给日期对话框单独证件样式,类似下面这样用:

new DatePickerDialog(this, AlertDialog.THEME_HOLO_LIGHT,null).show();

原文地址:https://www.cnblogs.com/gaotaozhaolei/p/4165474.html