您的位置:首页 > 其它

细节积累

2016-06-24 17:46 190 查看
一、签名文件问题

一般在安装时提示出错:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

1) 两个应用,名字相同,签名不同

2) 升级时前一版本签名,后一版本没签名

3) 升级时前一版本为DEBUG签名,后一个为自定义签名

4) 升级时前一版本为Android源码中的签包名不一致升级 会安装新的APK,旧的APK不会管。签名不一致,包名一致的话,需要先卸载旧的APK 才能安装新版的。

二、Handler弱引用,增强内存泄漏检测

handler弱引用使用:

static class CommentHandler extends Handler {
WeakReference<HomeActivity> mActivity;

CommentHandler(HomeActivity activity) {
mActivity = new WeakReference<>(activity);
}

public void handleMessage(Message msg) {
super.handleMessage(msg);
}
}


三、导航栏中Fragment中包含ListView的手势识别处理

(1)导航栏主类处理
<pre name="code" class="java">private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(
10);

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
for (MyOnTouchListener listener : onTouchListeners) {
listener.onTouch(ev);
}
return super.dispatchTouchEvent(ev);
}

public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.add(myOnTouchListener);
}

public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.remove(myOnTouchListener);
}

public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}



(2)手势使用类处理
<span style="white-space:pre"></span><pre name="code" class="java"><span style="white-space:pre">	</span>import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.view.View;

public class ScanDetailsEditFragment extends MyFragment implements
TabContentFactory, OnGestureListener {
// 滑动手势
private GestureDetector detector;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//to-do
final GestureDetector mGestureDetector = new GestureDetector(
getActivity(), this);
MainContainerActivity.MyOnTouchListener myOnTouchListener = new MainContainerActivity.MyOnTouchListener() {
@Override
public boolean onTouch(MotionEvent ev) {
boolean result = mGestureDetector.onTouchEvent(ev);
return result;
}
};

((MainContainerActivity) getActivity())
.registerMyOnTouchListener(myOnTouchListener);
return view;
}

public void flingLeft() {//自定义方法:处理向左滑动事件

}

public void flingRight() {//自定义方法:处理向右滑动事件

}

@Override
public boolean onDown(MotionEvent arg0) {
return false;
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
if (e1.getX() - e2.getX() < -100) {
flingLeft();
return true;
} else if (e1.getX() - e2.getX() > 100) {
flingRight();
return true;
}
} catch (Exception e) {
}
return false;
}

@Override
public void onLongPress(MotionEvent e) {
}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
return false;
}

@Override
public void onShowPress(MotionEvent e) {
}

@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}

}




特别害怕别人对我好,因为我怕还不了。一旦有人用真心对我好,我便恨不得以命相抵。

性格方面还是有很多缺陷,自私,敏感,尖刻,粗砺,自卑,过分的自尊心,极度缺乏安全感…

过往的自己是当前自己的最好镜面,无悔过去,无惧未来!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: