总结
Eclipse无故打不开是什么问题:删掉工作空间的.metadata可以打开
Eclipse中找不到对应的界 面或文件图片等:
使用“search--file”输入进行查找,在search栏中列出用到的
&&并且 ||或 %取余数 /取模(取整)
如何实现,让一个按钮,或者一个布局控件整体旋转一定的角度,而不是用动画方式: android:rotation="-10"
1. Compare with 基本修订版 本地与服务器代码对比
还原-à是还原到最后一次提交的版本
2. 看类中的所有方法 source—>实现的方法
3. DDMS –Devices-中的Reset adb Eclipse找不到手机驱动
4. activity中将view传递给adapter,在adapter的构造函数中实例化这个参数,然后在adapter中进行调用。
5. ImageLoader的使用: 应用与listvie添加图片的时候图片的乱序解决,将jar包放到lib里,然后实例化,在调用一个方法。绑定图片的url imageLoader = ImageLoader.getInstance();
(跟帖头像的设计时用到了imageloader)
imageOptions=newDisplayImageOptions.Builder().cacheInMemory()
.showImageForEmptyUri(R.drawable.touxiang)
.showImageOnFail(R.drawable.touxiang)
.showStubImage(R.drawable.touxiang).build();
/**
* imageload自定義头像加载封装
* @return
*/
public void getHeadpic(MaskImage maskImage,String headpic){
if (!TextUtils.isEmpty(headpic)) {
imageLoader
.displayImage(
headpic,
maskImage,
new DisplayImageOptions.Builder()
.cacheInMemory()
.cacheOnDisc()
.showStubImage(
R.drawable.default_user_photo)
.showImageForEmptyUri(
R.drawable.default_user_photo)
.showImageOnFail(
R.drawable.default_user_photo)
.build());
} else {
maskImage.setBackgroundResource(R.drawable.default_friends_head);
}
}
7.
最正确的写法: 空放在前
if (name1 != null && "1".equals(name1)) {//以后的这种判断先判断 是否为空,然后在判断面的
layout_two.setVisibility(View.INVISIBLE);
}
-------------------------------------------------
不太好的
if (name1 != null && name1.equals("1")) {//以后的这种判断先判断 是否为空,然后在判断后面的否则为空时报空指针
layout_two.setVisibility(View.INVISIBLE);
}
汇报
--------------------------------------------------------------------
if (name1 != null && name1.equals("1")) {//以后的这种判断先判断 是否为空,然后在判断后面的否则为空时报空指针
layout_two.setVisibility(View.INVISIBLE);
}
8.SVN对比一个。java文件与服务器的不同
9
安卓蛋疼系统 2.3.6 2.3.7 出现dimens适配问题,只找自己的分辨率,不走默认的分辨率,系统化会奔溃。
10.
Keystore:用keystore制作线上apk的完成,
Exportà
11.自定义界面的Dialog
private AlertDialog cancleDialog ;
cancleDialog = new AlertDialog.Builder(this).create();
cancleDialog.setCancelable(false);
cancleDialog.setCanceledOnTouchOutside(false);
cancleDialog.show();
Window window = cancleDialog.getWindow();
View cancleView = LayoutInflater.from(this).inflate(R.layout.dialog, null);
Button cancleBtn = (Button) cancleView.findViewById(R.id.gw_button_dialogconfirm);
cancleBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
window.setContentView(cancleView);
AdertDialog中包含了Edittext,et获取到焦点不显示软键盘的问题,将
Alertdialog编程Dialog。 如下
cancleDialog = new Dialog(getActivity());
cancleDialog.setCancelable(false);
cancleDialog.setCanceledOnTouchOutside(false);
cancleDialog.show();
Window window = cancleDialog.getWindow();
View cancleView = LayoutInflater.from(getActivity()).inflate(
R.layout.dialog_auction1, null);
final Button sureBtn = (Button) cancleView
.findViewById(R.id.button_auctionsure);
final Button exitBtn = (Button) cancleView
.findViewById(R.id.button_auctionexit);
final EditText editText = (EditText) cancleView.findViewById(R.id.edittext_money);
sureBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String money = editText.getText().toString().trim();
}
});
exitBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
cancleDialog.dismiss();
}
});
window.setContentView(cancleView)
adapter.notifyDataSetChanged();
12.友盟单击事件
自定义事件案例
自定义事件用于追踪用户的行为,包括记录行为发生的次数、持续的时长以及该行为的具体细节。不同的需求可以采用不同的方式来跟踪。
MobclickAgent.onEvent(mContext, "legaldaily_module_click", "法制视频");
// 统计时长
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
//统计页面
public void onResume() {
super.onResume();
MobclickAgent.onPageStart(this.getClass().getName());
}
public void onPause() {
super.onPause();
MobclickAgent.onPageEnd(this.getClass().getName());
}
13.
adb root
14.Activity中软键盘的弹出方式,在软件盘的上面
15.
android:windowSoftInputMode="adjustResize|stateUnspecified"
16.
<include
android:id="@+id/rl_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
layout="@layout/layout_title_videoedit" />
17.
/**
* 获得当前时间戳的字符串
* @return
*/
private String getCurrentTimeStr() {
SimpleDateFormat formatter = new
SimpleDateFormat("yyyyMMddHHmmss");
return formatter.format(new Date());
}
18.
公司的PullToRefreshListView封装的下拉刷新遇到的问题?
Listview改为下拉刷新组建的时间不执行adapter适配器,错误原因是xml中定义了scrollview,使得二者冲突不能加载显示数据。
19.
intent调用系统现有的分享界面
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
startActivity(intent);
20.2. 隐藏光标
1 | EditText et = (EditText) findViewById(R.id.etTest); |
android:background="@null"去掉背景输入框的边线
Listview + headview:listview申请在前,不是系统组件需要绑定headview.
listView=(PullToRefreshListView) findViewById(R.id.listview_desiredetail);
View headView = getLayoutInflater().inflate(
R.layout.activity_desiredetail_headview, null);
// 通過下拉组件得到一个listview的示实例,然后添加头
ListView refreshableView = listView.getRefreshableView();
refreshableView.addHeaderView(headView);
安卓下拉刷新组件隐藏滚动条:
Android:scrollbars=”none”
21:
分享到第三方遇到的系统奔溃bug:由于qq空间版本低找不到包名下的组件,故此奔溃。
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.qzone/com.qzone.ui.operation.QZonePublishMoodActivity}; have you declared this activity in your AndroidManifest.xml?
在跳转的时候进行异常的捕获,提示版本低请升级。 升级后的空间不奔溃
代碼示例
try {
Intent intent = getMIntent(sendImg);
intent.setComponent(new ComponentName(pkg, act));
mContext.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
ToastAlone.show(mContext,"分享失败,该分享平台软件版本太低,请更新后重试。");
}
1. tiny png用来处理缩小图片大小,减小app的负荷
23.
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int widthPixels = displayMetrics.widthPixels;
int heightPixels = displayMetrics.heightPixels;
LogUtil.e("手机分辨率宽", " = "+widthPixels);
LogUtil.e("手机分辨率高", " = "+heightPixels);
2. jsno串知识:
对症治疗服用稳心颗粒。轻微心肌供血不足可以服用复方丹参滴丸和硝酸异山梨醇酯片治疗.需要注意休息和避免情绪激动.不能吸烟喝酒
(解析json字符,里面带数组的方式)
// 地址,封装的参数,封装的请求类
try {
if (!TextUtils.isEmpty(json) && !"null".equals(json)) {
JSONObject obj = new JSONObject(json);
String data1 = obj.getString("data");
if (!TextUtils.isEmpty(data1)&& !"null".equals(data1)) {
list_adInfo = new ArrayList<AdInfo>();
JSONArray jsonArray = new JSONArray(data1);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object1 = jsonArray.getJSONObject(i);
AdInfo ad = new AdInfo();
ad.setId(object1.getString("id"));
ad.setImage_url(object1.getString("image_url"));
ad.setType(object1.getString("type"));
ad.setC_time(object1.getString("c_time"));
list_adInfo.add(ad);
}
setGallery();
} else {
ToastAlone.show(mContext,obj.getString("errormeg"));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
解析单个jaon字符(没有嵌套json数组)
try {
if (null != json && !"".equals(json)) {
JSONObject obj = new JSONObject(json);
if ("1".equals(obj.getString("result"))) {
ToastAlone.show(mContext, "上传成功");
// deleteAllFile(rootFile);
} else {
ToastAlone.show(mContext, "上传不成功!!!");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
/**
* 3.0获取房间列表 ---- 带有数组的json串
*/
private void accessNetwork4() {
/** 先判断是否有网络 */
if (0 == NetWorkState.getNetworkType(this)) {
ToastAlone.showToast(this, R.string.net_error, 1);
return;
}
asyncHttpClient = new LogAsyncHttpClient("getBaiduInfo");
final RequestParams params = ParamsBuilder.buildParams(this);
asyncHttpClient.post(APIProtocol.HAIER_GET_GWROOMLIST, params,
new LoadingResponseHandler(this, true, "getBaiduInfo") {
@Override
public void success(String json) {
try {
if (!TextUtils.isEmpty(json) && !"null".equals(json)) {
JSONObject object = new JSONObject(json);
String roomList = object.getString("roomlist");
if (!TextUtils.isEmpty(roomList) && !"null".equals(roomList)) {
JSONArray jsonArray = new JSONArray(roomList);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object2 = jsonArray.getJSONObject(i);
rb = new RoomlistBean();
rb.setId(object2.getString("id"));
rb.setRoomname(object2.getString("roomname"));
rb.setIs_default(object2.getString("is_default"));
rb.setMacnum(object2.getString("macnum"));
list_roomlist.add(rb);
}
if (list_roomlist.size() <= 6) {
// 同步先与异步执行,写在这是等异步执行完毕在执行这项,该项填到list的尾部
RoomlistBean rb2 = new RoomlistBean();
list_roomlist.add(rb2);
adapter.setData(list_roomlist);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
ToastAlone.showToast(SelecthouseActivity.this,
"房间列表获取成功", 1);
}
@Override
public void failure() {
ToastAlone.showToast(SelecthouseActivity.this, "加载失败",1);
}
});
}
/**
* 2.16添加房间 ----- 单个json串
*/
private void accessNetwork5() {
/** 先判断是否有网络 */
if (0 == NetWorkState.getNetworkType(this)) {
ToastAlone.showToast(this, R.string.net_error, 1);
return;
}
asyncHttpClient = new LogAsyncHttpClient("getBaiduInfo");
final RequestParams params = ParamsBuilder.buildParams(this);
params.put("room_name", roomName);
asyncHttpClient.post(APIProtocol.HAIER_GET_GWADDROOM, params,
new LoadingResponseHandler(this, true, "getBaiduInfo") {
@Override
public void success(String json) {
try {
if (!TextUtils.isEmpty(json) && !"null".equals(json)) {
JSONObject object = new JSONObject(json);
if ("1".equals(object.getString("result"))) {
ToastAlone.showToast(CreatehouseActivity.this,object.getString("message"), 1);
}
} else {
}
} catch (JSONException e) {
e.printStackTrace();
}
// 添加完毕在调用
// accessNetwork4();
}
@Override
public void failure() {
ToastAlone.showToast(CreatehouseActivity.this, "加载失败",1);
}
});
}
海尔导入库,改变SDK。选择Is library,意思是当前的代码项目作为库,haierjiadian依赖haierperson这个库。
但是家电不是库,所以不勾选Is Library