버전 번호, json 해석, apk 설치, 서명, 제목 표시줄 없음, 스크롤 Textview, 사용자 정의 조합 컨트롤

3918 단어
1. 응용 프로그램의 현재 버전 번호를 얻기:
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageInfo(getPackageName(),0);
String versionName = info.versionName;
2. 서버에 연결하여 최신 응용 프로그램의 버전 번호를 가져옵니다. 서버 경로는 구성 파일에 적어야 합니다. 나중에 수정할 수 있습니다.
values 경로에서 새 config를 만듭니다.xml 파일, AddName 은 serverurl, Value 는http://192.168.0.16/updateinfo.html의 키 값이 맞습니다. 저장합니다.
찾을 때 사용:
URL url = new URL(getString(R.string.serverurl));
3.json 해석
JSONObject obj = new JSONObject(result);
String version = obj.getString("version");
4. 점프 후 로그인 인터페이스는 반드시 닫아야 합니다. 그렇지 않으면 반환 키가 로그인 인터페이스로 돌아갈 수 있습니다...기술적 함량이 많다.
5. 시스템 설치 도구를 호출하여 apk를 설치합니다. 시스템이 apk를 설치하는 인터페이스는 하나의 Activity이기 때문에 시스템의 목록 파일에 이 Activity의 설정 정보가 있습니다. 시스템 목록 파일에 있는 설정 정보에 따라 이 Activity를 호출할 수 있습니다.
Intent intent = new Intent();
intent.setAction("android.intent.action.INSTALL_PACKAGE");
intent.addCategory("android.intent.category.DEFAULT");
intent.setDataAndType(Uri.fromFile(t),"application/vnd.android.package-archive");
startActivity(intent);
6.apk 서명
안드로이드 핸드폰에서는 두 개의 앱이 같은 가방 이름을 가지고 있는 것을 허락하지 않는다.패키지 이름이 같은 경우, 시스템은 이 두 응용 프로그램의 서명이 같은지 확인하고, 같은 경우 이전에 설치된 응용 프로그램을 덮어쓰고, 다른 경우 설치에 실패합니다.
서명 절차: 오른쪽 단추 응용 프로그램 -->Export-->Export Android 응용 프로그램 -->Create new keystore->Location: 저장할 경로를 찾아 저장할 파일을 만듭니다. 예를 들어mobilesafe.keystore->Password-->Alias: 별칭, Validity 쓰기 40-->저장.
서명을 거친 apk는 응용 시장에 발표될 수 있다.
7. 설정 응용 프로그램의 모든 Activity는 제목 표시줄이 없습니다. styles 파일에name="AppTheme"속성을 포함하는 스타일 노드에 true
8. 대화 상자를 팝업할 때 반환 키를 사용할 수 없도록 설정하거나(builder.setCancelable(false);)반환 키가 눌린 이벤트를 보거나 (builder.setOnCancelListener(new OncancelListener() {});)
9. 구궁격은 GridView,android:numColumns="3"으로 하면 된다.
10. 사용자 정의 스크롤 TextView:
TextView의 내용이 한 줄로 다 표시되지 않을 때,ellipsize 속성 값이 start,middle,end일 때, 생략 번호가 앞줄에 각각 나타나고,marquee일 때,TextView가 초점을 얻으면 텍스트 내용이 스크롤됩니다.TextView에 초점을 맞추려면 FocusedTextView 클래스를 정의하여 TextView를 계승하고 3개의 구조 함수를 실현해야 합니다.isFocused () 메서드를 다시 쓰고 초점이 있든 없든 true로 돌아갑니다.그리고 이 종류의 전체 경로 이름으로 컨트롤을 정의합니다.예:
<span style="font-size:18px;"><com.uc.mobilesafe.ui.FocusedTextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:text=" , , !"
    android:textSize="18sp" /></span>

11. 사용자 정의 조합 컨트롤:
자신이 쓴 컨트롤 조합을 나중에 사용하려면 Setting ItemView와 같은 클래스를 써서 Relative Layout을 계승하여 3개의 구조 방법을 실현하고 3개의 구조 방법은 모두 initView(context) 방법을 호출하여 initView() 방법을 만들 수 있습니다. 이 방법에서 사용:
View.inflate(context, R.layout. 레이아웃 파일,this);레이아웃 파일을 View 객체로 변환하여 상위 클래스(SettingItemView)에 로드합니다.그리고 이 종류의 전체 경로 이름을 통해 이 조합 컨트롤을 정의할 수 있습니다.한 번의 정의, 중복 사용.
조합 컨트롤의 모든 위치를 누르면 조합 컨트롤의 checkbox가 작동합니다.
<span style="font-size:18px;">	/**
	 *  
	 * 
	 * @param context
	 */
	private void initView(Context context) {
		//  --->View, SettingItemView 
		View.inflate(context, R.layout.setting_item_view, this);
		cb_update = (CheckBox) findViewById(R.id.cb_update);
		tv_name = (TextView) findViewById(R.id.tv_name);
		tv_desc = (TextView) findViewById(R.id.tv_desc);

	}

	/**
	 *  
	 */
	public void setChecked(boolean checked) {
		cb_update.setChecked(checked);
	}

	/**
	 *  
	 * 
	 * @return
	 */
	public boolean isChecked() {
		return cb_update.isChecked();
	}

	/**
	 *  
	 * 
	 * @param description
	 */
	public void setDesc(String description) {
		tv_desc.setText(description);
	}</span>

클릭 이벤트를 처리할 때 응답하기 위해 선택되었는지 여부입니다.
그리고 조합 컨트롤이 귀속될 때 checkbox가 처리해야 합니다.
android:clickable="false"
android:focusable="false"

좋은 웹페이지 즐겨찾기