人生中的第一篇博文。
第一次写博客,本文仅用来记录自己学习安卓开发上的遇到的问题与学习心得,想看就看。( ̄▽ ̄)/
捣鼓了好几天,今天终于确定了自己的Android开发工具。duang!就是他
Eclipse(老版教材之王)Android Studio
为什么不用Eclipse...哎,配置了好几天,最后还是一堆报错!枉费我一番心思!
然后Android Studio,下载,安装,两三下环境就搞好了...我的天,何乐而不为呢!
就决定是你啦!
比卡丘Android Studio!
那么现在就来记录一下 :
- 首先是在淘宝上淘来的基于AS平台的安卓开发教程。
(价值5元)
链接:https://pan.baidu.com/s/14XYH9mCZlFQ3TWntDe1Muw 密码:e5qe
赠品:https://pan.baidu.com/s/1y9gv5xen_wqZbqos7mGADQ 密码:fmas
一、XML文件语法
- AndroidManifest .xml的语法层次
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.jasonchow.newapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--<intent-filter>定义了程序的切入点-->
</application>
</manifest>
- 引用文件
设置属性的例子:
<布局/组件名称
android:属性名="属性类型"
...
/>
引用属性类型例子:
android:属性名 = "@文件名/变量名"
例如:
android:label="@string/text "
注意别乱打空格
二、Activity生命周期
关于Activity 生命周期详细介绍:https://www.cnblogs.com/lwbqqyumidi/p/3769113.html
Back 与 Home 的区别
问题来了:
OtherActivty的遮挡与半遮挡对Activity的生命周期的影响的区别。
三、布局
LinearLayout 线性布局
android:orientation=" " horizontal(打横 默认) vertical(打竖)
更多布局:http://www.cnblogs.com/devinzhang/archive/2012/01/19/2327535.html
- 布局的嵌套
activity的布局中包含(include)content_main的布局
<include layout="@layout/content_main"/>
Failed to load AppCompat ActionBar with unknown error.
出现无法预览XML布局的情况
解决方法:
找到styles.xml在Theme前加上Base.
四、第一个程序
作用:点击在activity_main.xml中的按钮,然后弹出activity_display_message,并且文本显示文本框中的内容
做好布局的设置后,在包中 右键——NEW Class
Display为activity_display_message布局所对应的启动类
作用是修改这个Activity的Text
故将其 声明为Activity的子类
并且要在A_M_.xml文件中声明(注册)下这个Activity类
快捷键修改:https://blog.csdn.net/csdnzouqi/article/details/50454703
快速继承父类快捷键 Ctrl +O
display.java中的代码
package com.example.jasonchow.newapp;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
public class Display extends Activity{
//把Display声明为Activty的子类
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);//将两者关联起来,这个类启动的时候,显示这个界面文件
}
}
至此,才算是一个完整的Activity,也就是说Activity要包含一个Java类,布局XML(java代码生成除外),以及在A_M_.xml里面注册。
之后我要写一个点击事件
找到按钮,给他绑定一个oncleck事件,名为sendMessage
之后去到MainActivity写入sendMessage
发送方函数:
public void sendMessage(View view)
{
//发送方的函数
Intent intent = new Intent(this,Display.class);//意图去哪个Activty
EditText ed1 = (EditText)findViewById(R.id.et1);//找到EditText1
String Message = ed1.getText().toString();//取出Message
intent.putExtra("EXTRA_MESSAGE",Message);
//putExtra("A",B)中,AB为键值对,第一个参数为键名,第二个参数为键对应的值。顺便提一下,如果想取出Intent对象中的这些值,需要在你的另一个Activity中用getXXXXXExtra方法,注意需要使用对应类型的方法,参数为键名
startActivity(intent);//启动Activty
}
去到Display.java
写入接收方函数:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);//将两者关联起来,这个类启动的时候,显示这个界面文件
Intent intent = getIntent();//启动时看一下有没有意图发送过来,有则获取
String message = intent.getStringExtra("EXTRA_MESSAGE");//以键名获取
TextView textView = (TextView) findViewById(R.id.text1);
textView.setText(message);//修改TextView
}
运行效果
第一天学习到此结束!很累,但是很爽!