zoukankan      html  css  js  c++  java
  • Android Studio 手动创建活动(Activity) 第一行代码 第二章

    活动概念:是一种可以包含用户界面的组件,主要用于和用户进行交互

    手动创建活动:新建一个Android项目,项目名为ActivityTest,包名使用默认值com.example.activitytest

    1.新建Android Studio项目

    点击Start a new Android Studioproject

    将包名改为ActivityTest,其余默认,点击Next

    默认,点击Next

    选择Add No Activity,点击Finish

    项目创建完成

    #######################################

    2.手动创建活动

    点击app->java->com.administrator.activitytest->New->Java Class

    输入类名FirstActivit,点击OK

    让新建的FirstActivity.java类继承自Activity,并重写Activity的onCreate()方法

    [java] view plain copy
     
    1. public class FirstActivity extends Activity {  
    2.     @Override  
    3.     protected void onCreate(Bundle savedInstanceState) {  
    4.         super.onCreate(savedInstanceState);  
    5.     }  
    6. }  


    onCreate()方法非常简单,就是调用了父类的onCreate()方法

    #############################################

    3.创建和加载布局

    Android程序的设计讲究逻辑和视图分离, 最好每一个活动都能对应一个布局,布局就是用来显示界面内容的

    点击app->res->New->XML->Layout XML File,弹出一个创建布局文件的窗口

    给布局文件命名为first_layout,根元素默认选择为LinearLayout,点击Finish

    上面两图为可视化布局编辑器,在窗口的左下方有两个切换卡<Design>和<Text>(左边是Graphical Layout,右边是first_layout.xml)

    转到first_layout.xml,添加一个按钮Button

    [java] view plain copy
     
    1. <Button  
    2.     android:id="@+id/button_1"  
    3.     android:layout_width="match_parent"  
    4.     android:layout_height="wrap_content"  
    5.     android:text="Button 1"  
    6.     />  

    在<LinearLayout></LinearLayout>之间添加上述代码

    Button元素的内部增加了几个属性:

    android:id:给当前的元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作。

    格式:@+id/id_name表示在XML中定义一个id(相关语法:@id/id_name表示在XML中引用资源)
    android:layout_width:指定当前元素的宽度,使用match_parent表示让当前元素和父元素一样宽

    android:layout_height:指定当前元素的高度,使用wrap_content表示当前元素的高度只要能刚好包含里面的内容就行

    android:text:指定元素中显示的文字内容

    重新回到FirstActivity.java类,在onCreate()方法中加入下述代码:

    [java] view plain copy
     
    1. public class FirstActivity extends Activity {  
    2.     @Override  
    3.     protected void onCreate(Bundle savedInstanceState) {  
    4.         super.onCreate(savedInstanceState);  
    5.         setContentView(R.layout.first_layout);  
    6.     }  
    7. }  


    setContentView()方法来给当前的活动中加载一个布局

    #######################################################33

    3.在AndroidManifest文件中注册

    所有的活动都要在AndroidManifest.xml中进行注册才能生效

    点击app->manifests->AndroidManifest.xml

    活动的注册声明要放在<application>标签内,通过<activity>标签来对活动进行注册

    [java] view plain copy
     
    1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    2.     package="com.administrator.activitytest">  
    3.   
    4.     <application android:allowBackup="true" android:label="@string/app_name"  
    5.         android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">  
    6.   
    7.         <activity android:name=".FirstActivity"  
    8.             android:label="This is FirstActivity" >  
    9.             <intent-filter>  
    10.                 <action android:name="android.intent.action.main" />  
    11.                 <action android:name="android.intent.category.LAUNCHER" />  
    12.             </intent-filter>  
    13.         </activity>  
    14.   
    15.     </application>  
    16.   
    17. </manifest>  


    android:name:指定具体注册注册哪一个活动 填入的.FirstActivity是com.example.activitytest.FirstAcivity的缩写

    由于最外层的<manifest>标签中已经通过package属性指定了程序的包名是com.example.activitytest,因此在注册活动时这一部分就可以省略,直接使用.FirstActivity就足够了

    android:label:指定活动中标题栏的内容,标题栏是显示在活动最顶部(也可能无法显示,亲测)

    给主活动指定的label不仅会成为标题栏中的内容,还会称为启动器(Launcher)中应用程序显示的名称

    在<activity>标签的内部加入<intent-filter>标签,并在这个标签里添加<action android:name="android.intent.action.MAIN" />和

    <category android:name="android.intent.category.LAUNCHER" />这两句声明

    note:如果你想让FirstActivity作为程序的主活动,即点击桌面应用程序图标时首先打开的就是这个活动,就一定要加入这两句声明

    ##############################################

    注意 注意 注意 重要的地方讲三遍 

    点击菜单栏app->Edit Configurations 

    在Target Device选项中,选择USB device(真机调试)

    但是发现错误,Error:Default Activity not found

    所以,在上图Activitcy文件框中修改如下

    点击Run,程序运行成功

    手机截图如下:

  • 相关阅读:
    【乱侃】How do they look them ?
    【softeware】Messy code,some bug of Youdao notebook in EN win7
    【随谈】designing the login page of our project
    【web】Ad in security code, making good use of resource
    SQL数据库内存设置篇
    关系数据库的查询优化策略
    利用SQL未公开的存储过程实现分页
    sql语句总结
    sql中使用cmd命令注销登录用户
    SQLServer 分页存储过程
  • 原文地址:https://www.cnblogs.com/guoqiang1/p/8308479.html
Copyright © 2011-2022 走看看