我是通过哔哩哔哩的极客开发者up主的视频学习的,讲得还算很详细,对于我这种没有学习Java的人来说还说能听得懂。在此特别感谢up主!
今天学习了Android Studio的环境搭建,主要要安装JDK和JRE。然后是修改环境变量。然后就是安装Android Studio,带虚拟机。安装了Android Studio之后就有安装SDK,我是通过下载的方式进行安装,中途等了挺久时间。安装好了后建立工程就有各种报错,对于不懂英文的我,过程感觉十分痛苦,每一次的错误我都是通过百度翻译进行查阅,然后在百度上搜索遇到同样问题的案例,照着他们的提示的方法进行了一系列的修改,费了九牛二虎之力后,终于我的开发环境搭建好了。
接下来我学习了up主初次录制的视频——编写生日贺卡APP,这看似简单的APP,或许对于一些大佬来说不算什么,但对于刚入门的小白来说,还算不错,因为至少知道了那么回事。
在这里说下这个视频我学到的
1)控件TextView(文本框)
android:layout_margin="20dp" //边框距20
android:textSize="22dp" //字体大小
android:textColor="@android:color/holo_red_light" //设置字体颜色红色
2)控件ImageView(图本框)
android:layout_centerInParent="true" //居中
android:src="@drawable/bathdays" //选择对用的图片为位置
3)控件Button(按键)
android:id="@+id/btn" //确定ID为btn
android:layout_margin="10dp" //板式边距
android:layout_alignParentBottom="true" //放到最后
注:以上纯属自己根据up主的视频学习理解得到的,大神勿喷,若有更好的理解麻烦告知,在此感激不尽,谢谢!
接下就是Java代码,在开头我就是说明了我没有Java基础,所以对这些布局还有定义不太理解,但还是记下较好,以后学习总会去理解他
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //显示布局 setContentView(R.layout.activity_main); //初始化布局 intUI(); }以上应该就是主函数,相当于我学的C语言中的main。这里做了一个初始化布局,此外还在这学到实用快捷键,Alt+Enter可以直接写出这个函数!
private void intUI() { //获取媒体播放对象 final MediaPlayer mediaPlayer= MediaPlayer.create(getApplicationContext(),R.raw.music); //注册点击事件 findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(mediaPlayer.isPlaying()) { mediaPlayer.pause(); }else{ mediaPlayer.start(); } } });}这样就把简易生日贺卡app做好了。感觉还行,日后得看看Java语言学习下他的定义格式。再者就是进入up主的系统学习,由0-3集,前几集倒还好,到了03模拟小相册的时候有点不太懂了。那么久说说看了这些学习的收获因为有了生日贺卡APP这个简易的教程,前几集跟之前差不多。1.首先学习了认识Android Studio的界面。了解了我们建立工程一般选为Android工程就行,(这是我们常用编写代码的),app和Gradle Scripts。这里重点讲下app这个文件夹,打开app里面有3个子文件,①manifests②java③res而我们常用的3个文件分别是这①中的AndroidManifest.xml,②->layout->MainActivity,③layout->activity_main.xml第一个文件就是相当于启动文件,配置这个工程名称还有一些启动的事项。第二个文件就是变成代码文件,主要书写一些逻辑关系。第三个文件就是书写布局的文件,主要是将控件的摆放(初学者使用代码编写较好)。2.然后学习了线性基础布局LinearLayout
android:orientation="vertical" //线性布局的方向 vertical竖直排列|horizontal横向排列
到了03集就是模拟相册的APP这里使用了1个ImageView,用于显示图片的1个TextView,用于提示图片的信息2个Button,用于翻页的
<ImageView android:id="@+id/iv_show" android:layout_width="match_parent" android:layout_height="50dp" android:layout_weight="1" //剩余控件的占用 android:background="@android:color/background_dark" /> //设置为黑色的背景
<TextView android:id="@+id/tv_show" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="图片信息" android:gravity="center" //居中 android:padding="10dp" //内边距 />
<LinearLayout android:gravity="center" //居中 android:orientation="horizontal" //竖直排列 android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/btn_previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="上一张" /> <Button android:id="@+id/btn_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一张" /></LinearLayout>/********这里采用线性的布局两个按键的排列***************/
以上就是②->layout->MainActivity的代码接下我们就要编写Java逻辑代码
private ImageView mImage;private TextView mText;private int num;private int index;private String[] title;private int[] images;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 initView(); //初始化数据 initData();}
private void initData() { title = new String[]{"No.1","No.2","No.3","No.4","No.5"}; images = new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e}; mImage.setImageResource(images[0]); mText.setText(title[0]); num = title.length;//图片的张数 index = 0;//当前显示图片的索引}
private void initView(){ mImage = findViewById(R.id.iv_show); mText = findViewById(R.id.tv_show); findViewById(R.id.btn_previous).setOnClickListener(this); findViewById(R.id.btn_next).setOnClickListener(this);}
@Overridepublic void onClick(View view) { switch(view.getId()){ case R.id.btn_previous: //上一张 if(index==0){ index = title.length - 1; }else { index--; } break; case R.id.btn_next: //下一张 if(index==4){ index = 0; }else{ index++; } break; } updateImageAndTitle();}
private void updateImageAndTitle() { mImage.setImageResource(images[index]); mText.setText(title[index]);}经过上面的代码学习,我学会快捷键Ctrl+Alt+F声明全局变量,至于其他怎么来的,我感觉又忘得差不多,明天赶着再弄一遍是怎么个意思,至于Java的程序架构得好好理理。综上所述,就是我今天学习Android Studio的笔记!!!