我的Android学习之路(1)新建项目

2019年一月三日,在公司做毕业设计第二天。第一天几乎什么都没做,就简单做了一下项目介绍。从今天开始学习Android,也从今天开始写我的学习博客,主要是为了记住自己学过的东西,方便以后查找!

1.从新建一个项目开始

1.1活动的基本用法

新建项目时选择Add no activity。点击app/src/main/java/com.example.activitytest→new→activity→emptyactivity并将活动命名为FirstActivity不要勾选generate layout file和launcher activity。

1.1.1创建和添加布局

app/src/main/res→new→directory创建名为layout的目录。在layout目录下new→layout resource file新建一个名为first_layout的布局文件。根元素默认linearlayout。

添加按钮:

点击layout/first_layout.xml在text编辑(左下角)模式下在代码中增添:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="button1"
    />
</LinearLayout>

这里的代码添加了一个button元素。

Android:id是给当前元素定义的惟一的标识符,可以通过这个标识符对这个按钮进行操作。

android:id="@+id/button1"是在xml当中引用一个id的用法。标准格式为:android:id="@+id/id_name"

android:layout_width="match_parent"定义当前元素的宽度,match_parent表示当前元素和父元素一样宽。

android:layout_height="wrap_content"定义高度为刚好包含所有内容。

android:text="button1"定义元素中显示的文字内容。

在活动中加载新建的布局

在firstactivity中的oncreate方法中加入:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);

通过调用setContentView()方法给当前活动加载布局。并传入布局文件的id:R.layout.first_layout。(在项目中添加的任何资源都会在R文件当中生成一个资源id)

1.1.2在AndroidManifest文件中注册

定义主活动:
所有的活动都需要在Androidmanifest文件中注册之后才会生效,在Androidmanifest中添加代码:

 <activity android:name=".FirstActivity"
            android:label="this is first activity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

将FirstActivity定义为程序的主活动。即点击桌面应用程序时首先打开这个活动。

1.1.3在活动中使用Toast

toast是Android系统提供的一种提醒方式。将一些短小的信息通知用户,这些提示信息在一段时间后会自动消失。

定义一个弹出Toast的触发点(实例演示从上面定义的button1触发):

在oncreate方法中添加代码:

 setContentView(R.layout.first_layout);
        Button button1=(Button)findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View V)
            {
                Toast.makeText(FirstActivity.this,"you click button1",Toast.LENGTH_SHORT).show();
            }
        });

    }

在活动中通过findViewById()方法获取在文件中定义的元素(R.id.button1)来得到按钮的实例。该方法返回一个View对象。一通过setOnClickListener()方法为按钮注册监听器,点击时执行OnClick方法。

在OnClick方法中编写Toast功能,通过makeText方法创建一个Toast对象,调用show()将Toast显示出来。makeText()方法的三个参数:

  • context:即Toast要求的上下文,由于活动本身就是一个context对象,因此直接传入FirstActivity.this。
  • 文本内容:点击之后要显示给用户的文本内容。
  • Toast显示的时长:可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。

运行之后,点击按钮之后显示提示文字。

1.1.4在活动中使用Menu

在res目录下新建一个menu文件夹,再在menu文件夹内new一个Menu Resource File,输入文件名为main

在main.xml中添加代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/add_item"
    android:title="Add"/>
    <item
        android:id="@+id/remove_item"
        android:title="Remove"/>
</menu>

上述中创建两个菜单项,<item>标签用于创建具体的某一个菜单项,并用android:id给菜单项创建唯一标识符,通过android:title给菜单项指定一个名称。

在firstActivity中重写onCreateOptionsMenu()方法(重写方法可以ctrl+O快捷键)。在onCreateOptionsMenu()方法中编写

public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }

通过getMenuInflater()方法得到MenuInflater对象。再调用inflate()方法给当前活动创建菜单。inflate()方法的两个参数:

  • 第一个参数用于指定通过哪一个资源文件来创建菜单(这里传入R.menu.main)
  • 第二个参数用于指定我们的菜单项将添加到哪一个menu对象当中去,这里直接使用onCreateOptionsMenu()方法传入的menu参数,然后给这个方法返回true表示允许创建的菜单显示出来。false表示菜单将无法显示。

再定义菜单响应事件,在onOptionsItemSelected()方法:

public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
        case R.id.add_item:
            Toast.makeText(this,"you clicked add",Toast.LENGTH_SHORT).show();break;
        case R.id.remove_item:
            Toast.makeText(this,"you clicked remove",Toast.LENGTH_SHORT).show();break;
            default:
    }
    return true;
}

重新生成时就会增加菜单,点击添加时提示添加信息。

1.1.5销毁活动

在按钮的监听代码中的Onclick方法中添加finish()方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值