Android studio 复习随记1

前言

        2年前的时候,偶然加入了一组工业工程系主任带队的大学生创新训练项目,我分配到的任务就是写一个安卓App来作为系统的连接端。于是当时就踏入了java和Android studio的学习。项目的结果是,我写的App以我为第一作者申请了一项软件著作权。那大半年时间的学习,可以说是差点改变了我的人生走向,因为这让我在是否转码这一问题上有了一些技能基础,以至于让当时的我怒刷100道力扣算法题,并凭借自己的简历去投递诸如腾讯、阿里巴巴、字节跳动的客户端开发岗的校园实习生。在那之后,我逐渐意识到了自己确实不太适合纯转码这个方向。于是安卓开发的学习便告一段落。

        最近为何想来重新学习呢,主要原因还是想完成曾经的小愿望,用Android studio开发一款App来作为控制的遥控器。毕竟已经踏入了电控这条路,并且曾经也做过一小段时间安卓开发,就想着把以前学习的只是捡起来好好用一用!

PS:本文只是一篇方便我自己学习的随记,由于我之前的学习没有做一些相关内容的记录,之前的学习依据的是CSDN博主@郭霖(15条消息) guolin的博客_CSDN博客-Android疑难解析,Android精华教程,随笔领域博主icon-default.png?t=M85Bhttps://blog.csdn.net/guolin_blog/?type=blog 编写的《第一行代码》第2版。自己曾经的demo也在换电脑的时候被我自己给全删掉了,而且我以前用的Android studio版本太低了(基于Android7.0),最近安装的AS是最新版本(基于Andriod11往上,肯定不是最新的了但反正挺新的)。所以一切都是重新开始。所以本文只是我自己的一个复习记录,以便于我以后能够快速查找,可能对看文章的大家帮助不大,敬请谅解!

正文

       先放几个手机里还剩下的app的壳子吧!

 这几个主要就是面子工程,写着给人看的,实际上没有赋予相关功能,所以我愿称之为壳子。我申请软著的那个App还是写了很多功能进去的!

时刻关注一下这几个文件夹:

Manifest注册表的用处不必多说,所有的活动、窗口,还有一些控件,调用什么东西,都要在里面说明。

build.gradle我印象里曾经因为版本不匹配啥的产生的问题都在这里面解决,并且可以在里面看到很多信息。

 常用的文件夹就是java和res两个大文件夹下。一个写后端一个写前端,当然有时候也有交叉。既然是复习随机我就浅记一下我有遗忘的或者对之后有帮助的一些点吧!

监听器onClick()方法

匿名类和接口类两种方法来实现注册:(这里的例子是一个点击按钮后窗口的跳转)

/*匿名类方法*/
/*public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity1);
        Button button1 = (Button) findViewById(R.id.button_1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    Intent intent = new Intent(MainActivity.this,activity.class);
                    startActivity(intent);
            }
        });
    }
}*/
/*通过接口来实现*/
public class MainActivity extends AppCompatActivity  implements View.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity1);
        Button button1 = (Button) findViewById(R.id.button_1);
        button1.setOnClickListener(this);
    }
    @Override
    public void onClick(View v){
        switch (v.getId()){
            case R.id.button_1:
                Intent intent = new Intent(MainActivity.this,activity.class);
                startActivity(intent);
                break;
            default:
                break;
        }
    }
}

创建一个新的窗口

写一个新活动的时候要在注册表里注册,并且要写清楚哪个活动是主活动(<intent-filter>)

<activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
<activity
            android:name=".activity"
            android:exported="true">
</activity>

 常用控件的使用——以AlertDialog为例

public class activity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button2);
        button.setOnClickListener(this);
    }
    @Override
    public void onClick(View v){
        switch (v.getId()){
            case R.id.button2:
                AlertDialog.Builder dialog = new AlertDialog.Builder(activity.this);
                dialog.setTitle("这是个对话框");
                dialog.setMessage("你好,我是饺子");
                dialog.setCancelable(false);
                dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                dialog.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                dialog.show();
                break;
            default:
                break;
        }
    }
}

在手机上运行:

        哦在这里不得不提一句,新版本的Android studio对于布局设置这块非常舒服。两年前的我一直因为这个布局的代码问题被折磨得死去活来,当时可视化编程那边根本没办法使用。但我现在下载的这个版本,对于控件的位置啥的设置,可以直接拖动,不会像老版本那样“不听话”。用可视化窗口来实现非常的方便!可以说是省了我很大的力气来复习这一部分了哈哈哈!


 呃呃,好像时间有点不够,文章没有太多有营养的东西。不过我也算是基本熟悉了以前的一些东西了。后面一段时间我就开始接触利用Android来实现蓝牙或者wifi的通信,最后到对舵机、电机的遥控控制!有点小期待! 

猜你喜欢

转载自blog.csdn.net/weixin_47723114/article/details/128163757