刚入坑的时候仅仅这个软件折腾了我三天之久,什么JAVA JDK啊,什么Gradle版本问题,对于一个机械的学生来说,无疑是一头雾水;当然,入门来说,什么东西都是0基础,无疑会走很多弯路,总结一句来说,开发一定要静下心来,要细心,不可盲目求成。学习AndroID 的兴趣完全来于 机智云 APP开源框架的修改,从此一发不可收拾,废话不多说,下面直接开撸。
注:以下内容仅仅是为了记录自己的学习笔记,以及提供给一些入门小白的捷径,如有错误 还请指出!
1.新建AndroID工程图中可以看到,打开软件后的几个选项,我们只需点击第一个(启动一个新的安卓项目)。
点击创建工程后来到新的页面,如图所示,此处为选择Activity界面,可根据自己需求选择,新手推荐选用第二个!选择以后点击NEXT即可。
接下来是对工程文件的命名,以及系统版本的选择,“name”大家都不陌生吧,更改为自己需要的即可,文件保存路径不可以有中文,推荐大家创建一个新的文件夹用来存放自己的AndroID工程,至于其他的选项大家跟着选择就行啦。随后只需点击FinIDh即可。
这样一个新的AndroID工程就创建完毕了,接下来就可以尽情发挥自己啦。
2.APP制作
既然是第一个APP,那就毫无技术可言啦,这里就做个类似鞋子商城的小APP吧。先预览一下后期效果!
2.1 新建一个Activity
图中可以看到APP有两个页面,每个页面都会对应一个Activity;所以除了文件生成的Main_Activity之外,还要有一个Activity与另一个页面对应,而每个Activity的XML文件都会有对应JAVA文件。
如上图所示,我们找到工程的Layout 文件,会看到Main_Activity的XML文件,我们新建的XML文件也要放在Layout里面。
鼠标选中Layout文件夹右击,在出现的对话框中按照上图选择来到如下页面,对话框中输入新建XML文件的名字,大家尽量规范的输入Activity的名字,以增加程序的可读性。
有了XML文件后,还要有对应的JAVA文件,下面我们来到工程的JAVA文件夹下创建JAVA文件,如下图所示,同样的右击鼠标NEW一个工程。
创建完成后就可以在对应XML文件中编写UI了。2.2UI编写
关于UI 的编写这里就不作过多介绍了,直接贴代码吧。
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"> <ScrollVIEw androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:background="@color/white" androID:fadingEdge="vertical" androID:paddingBottom="10dp" androID:paddingtop="20dp" androID:scrollbars="vertical" > <linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="vertical" androID:scrollbars="vertical" > <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_1" androID:layout_centerVertical="true" androID:src="@drawable/a" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="9" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE1" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_2" androID:layout_centerVertical="true" androID:src="@drawable/b" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="99" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerHorizontal="true" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:gravity="center" androID:text="NIKE2" androID:textSize="23sp" /> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:ID="@+ID/image_3" androID:layout_wIDth="80dp" androID:layout_height="80dp" androID:layout_alignParentleft="true" androID:layout_centerVertical="true" androID:layout_marginleft="20dp" androID:src="@drawable/c"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:gravity="center" androID:text="99" androID:textcolor="@color/colorAccent" androID:textSize="16sp" /> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_centerHorizontal="true" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:gravity="center" androID:text="NIKE3" androID:textSize="23sp" /> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_4" androID:layout_centerVertical="true" androID:src="@drawable/d" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="9" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE4" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_5" androID:layout_centerVertical="true" androID:src="@drawable/f" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="99" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE5" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_6" androID:layout_centerVertical="true" androID:src="@drawable/i" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="99" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE6" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_7" androID:layout_centerVertical="true" androID:src="@drawable/j" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="9" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE7" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_8" androID:layout_centerVertical="true" androID:src="@drawable/h" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="9" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE8" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> <relativeLayout androID:layout_wIDth="match_parent" androID:layout_height="120dp"> <ImageVIEw androID:layout_alignParentleft="true" androID:layout_marginleft="20dp" androID:layout_wIDth="80dp" androID:ID="@+ID/image_9" androID:layout_centerVertical="true" androID:src="@drawable/g" androID:layout_height="80dp"> </ImageVIEw> <TextVIEw androID:layout_wIDth="50dp" androID:layout_height="30dp" androID:text="99" androID:textcolor="@color/colorAccent" androID:gravity="center" androID:layout_marginleft="100dp" androID:layout_margintop="70dp" androID:textSize="16sp"/> <TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="NIKE9" androID:layout_centerHorizontal="true" androID:gravity="center" androID:layout_marginleft="80dp" androID:layout_margintop="40dp" androID:textSize="23sp"/> </relativeLayout> </linearLayout> </ScrollVIEw> </linearLayout>
对应的Java文件代码:
package com.example.myshoe;import androID.content.Intent;import androID.os.Bundle;import androIDx.appcompat.app.AppCompatActivity;import androID.vIEw.VIEw;import androID.Widget.ImageVIEw;/** * */public class Main2_Activity extends AppCompatActivity { private ImageVIEw image_1; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main2_activity); image_1 = findVIEwByID(R.ID.image_1); // 寻找xml里面真正的ID 与自己定义的ID绑定 image_1.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { } }); }}
MainActivity.JAVA代码:
package com.example.myshoe;import androIDx.appcompat.app.AppCompatActivity;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.Toast;public class MainActivity extends AppCompatActivity { private button btn_1; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); btn_1 = findVIEwByID(R.ID.btn_1); // 寻找xml里面真正的ID 与自己定义的ID绑定 btn_1.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Intent intent = new Intent(MainActivity.this, Main2_Activity.class);//this前面为当前activty名称,class前面为要跳转到得activity名称 startActivity(intent); } }); }}
至此APP的结构就出来啦,但是如果这样下载到手机上是无法运行的,我们新建的Acticity还并未加入到软件中,就像我们使用单片机的时候仅仅只是完成了IO的初始化和函数的编写,但是未在主函数调用,那么代码写的再完美也不过是一稽之谈,最后还要在工程的AndroIDMainFest.XML文件中声明新建Activity文件:
3. APP打包下载本人手机不支持真机调试,所以从接触AndroID开始就使用打包的方式验证APP是否可运行,相比于真机和虚拟机来说较为烦恼,大家可根据自己选择或跳过此步骤。所有的代码完成以后,且软件无报错的情况下,则可点击软件上方Build对软件进行打包;如图所示:
2. 选择APK文件
3.新建JKS密钥信息
4.填入相应信息
5.点击Finish,大功告成!
6.程序运行无误,点击右下方locate即可跳转到APK文件夹
7.复制APK文件到手机即可。4. 总结
不管是安卓开发也好,还是单片机开发也好,总之一定要细心细心再细心,这样会避免走很多弯路,更不可盲目求快,所有代码一笔带过后,再回过头调试找BUG,这样不仅效率低,而且出错的机率更大,要养成及时验证代码的习惯,因为指不定加上哪句话后,整个工程就崩溃了。第一次发帖,还有很多功能没能整明白,有需要代码的同学可以私信留言哦!
总结以上是内存溢出为你收集整理的Android studio 学习笔记全部内容,希望文章能够帮你解决Android studio 学习笔记所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)