我终于对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);
}
}
下篇我们说登录以及注册页面的设计和逻辑。