我終於對Android下手啦!
早就想做一款APP啦!順便熟悉一下數據結構。
首先,我下載了AS,剛創建了一個工程,就爆紅了,真的難受,好像是什麼appt2的問題,上網查了以後,找到一個文件加了一句代碼,錯誤成警告了,後來還是老出錯,我直接卸載了AS,用IDEA編的,其實差不多,到現在還沒出過什麼不可抗的問題。
一開始,做了幾個頁面後安裝到真機後直接閃退,後來發現是忘了在Androidmanifest.xml裏面註冊頁面,我是真的傻。。。
第一步,我做了一個延時頁面來掩蓋開始app的白色背景。
那麼軟件在打開時的白色或黑色背景的設置是在values/styles.xml中設置background,我們把它設置爲drawable中我們設好的圖片,然後再進入我們的第一個延時頁,把這個頁面的背景也設爲剛剛的圖片,我們就能實現沒有白屏的延時頁。
我們在WelActivity.java的代碼:
package com.dianmo.flash;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
public class WelActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
final int REQUEST_EXTERNAL_STORAGE = 1;
String[] PERMISSIONS_STORAGE = {
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"};
//上面的語句爲我們的軟件設置讀寫權限,在Androidmanifest.xml中也要添加
//以上是兼容Android6.0運行時權限解決方案
try {
//檢測是否有寫的權限
int permission = ActivityCompat.checkSelfPermission(this,
"android.permission.WRITE_EXTERNAL_STORAGE");
if (permission != PackageManager.PERMISSION_GRANTED) {
// 沒有寫的權限,去申請寫的權限,會彈出對話框
ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE);
}
} catch (Exception e) {
e.printStackTrace();
}
//去掉信息欄
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_welcome);
new Handler().postDelayed(new Runnable()
{
//封裝的run()方法,用在
@Override
public void run()
{
//頁面跳轉
Intent intent = new Intent(WelActivity.this,MainActivity.class);
//保存跳轉信息
startActivity(intent);
//進入第二個界面前銷燬當前的活動,"finish()"銷燬活動
WelActivity.this.finish();
}
//這裏的數字爲延時時長
}, 1500);
}
}
下篇我們說登錄以及註冊頁面的設計和邏輯。