Android 基础视频学习笔记 1 (完结)

news/2024/12/29 1:02:29/

综述:

              1 1G-4G的介绍:(了解)

                  1G  大哥大

                  2G  小灵通   gsm  发短信   wap.baidu.com

                  3G  沃       7.2M

                  4G :lte   100M/s

                        5G    : 华为  6亿美金     10G/s   小公司卖产品大公司卖版权(标准) 

               2 Android 操作系统的介绍(了解)

                        最初用于数码相机。Android操作系统在T-Mobile G1手机上首发。

               3 Android 系统版本介绍(了解)

               4 Android 系统构成(掌握)

               【1】linux

               【2】函数库存 由C或者C++写的

               【3】Application frameWork  应用的框架层

               【4】最上层  应用层

              5 jvm与dvm介绍(了解)

                 jvm=>.java->.class->.jar  => jdk javac 基于栈的架构

                dalvik  vm=>.java->.class->.dex->.odex=> sdk dex 基于寄存器的架构  

                区别:

                          【1】.dvm把所有的.class文件变成一个dex文件

                          【2】.基于架构的不同

                          【3】. 为什么谷歌自己研发dvm => 由于版权的原因

              ART模式提升了速度,但是增大了存储空间的占用,安装程序时增长了时间进行预编译。

            6 开发环境的搭建(掌握)

                eclipse => ibm用java语言开发的

                SDk =>docs文档  sources源码  platforms版本文件存放  .android创建模拟器需要的文件 temp临时文件 platform-tools工具

            7 sdkManager介绍

               dx.bat 把所有.class文件变成了一个dex文件

               aapt Android应用打包工具

               adb  Android调试桥

                     doc : 目录存文档

                     source:源码

                     platform:开发的平台

               intel   :  生产cpu      主要针对pc机或者笔记本

               arm   :  Advanced RISC Machines的缩写 ,生成标准

===================================================================================

               如何进行真机调试

                        如果你的手机是杂牌     可以安装   豌豆荚   360手机助手  金山手机助手 91手机助手等等

                        如果你的手机驱动能在官网下到    直接下载安装就可以了

===================================================================================

            8 模拟器的简介及创建

            Android 版本对应api级别

              2.3  ~~~ 10

              3.0  ~~~ 11

              4.0  ~~~ 14

              4.1.2~~~16

              4.4  ~~~ 19

              4.4w~~~ 20

              5.0  ~~~  21

            Android 常见分辨率  =>关乎美工切图

            320*480

            480*800

            1280*720

           ROM :只读存储器  相当于电脑的一块微小的硬盘 断电后数据不丢失

           RAM : 相当于电脑的内存条  断电数据丢失

==============================================================================

      2016/11/4    20:00-23:00   完成 模拟器创建    尝试基本功能   ***休息***                          

==============================================================================

            9 DDMS透视图介绍

                     全称:调试监控服务工具(Dalvik Debug Monitor Service)

                      File Explorer  手机文件  Data->data 文件包括了系统中安装的各类应用文件

                      Emulator Control 可以模拟短信和电话,信号和位置信息,漫游或者未注册欠费等等状态。

           10  Android-helloworld

                          Pakeage Name一般使用自己公司的名称

           11 Android工程目录结构

                        【1】src 存源码的

                        【2】gen自动生成的文件。勿动。里面的R文件非常重要。R文件上可以找到所有res文件中的资源名字。

                        【3】Android + 版本号 =>开发环境

                        【4】Android Dependencies 类包

                        【5】assets 资产目录  在此文件中放入图片在R文件中是不会被引用的

                        【6】bin:apk文件

                        【7】libs 额外jar包

                        【8】res资源文件  drawable 图片资源

                        【9】layout 布局资源

                        【10】values =>Strings.xml 字符串

                        【11】AndroidManifest.xml 清单文件=>@相当于R文件  “@drawable/ic_launcher”表示在R文件中的drawable下的ic_launcher

                                   Android中的四大组件(Activity broadCastReceiver service ContentProvider)都需要在清单文件里配置

            12 Android打包流程(了解)

                 编译-->class->dex文件     ---打包(aapt)生成一个apk文件-->adb-->device(了解)

            13 ADB指令练习(掌握)

                 【1】kill-server    杀死adb服务

                 【2】start   启动

                 【3】adb install xxxx.apk时出现adb server is out of date.killing的解决办法(来源于百度经验)

                     =>出错的原因是adb的端口被其他程序的进程占领了,所以要做的就是找到并kill该进程,

                         在cmd中执行adb nodaemon server,查看adb的端口号是多少,一般情况下是5037(why?应该软件使用的端口号是固定的)

                        再执行netstat -ano | findstr "5037" :这里稍微解释一下,显示的从左到右的意思分别是,连接类型(TCP)、本地地址和端口、

                         外部地址和端口、连接状态、进程的PID号。这里有两个进程占据着5037端口,其中一个占据的是本地的5037端口,另外一个占据的是

                         外部的5037端口,要干掉的当然就是那个本地的PID为240的端口。CTRL+ALT+DEL唤出任务管理器。点击进程,现在要找的

                         是PID为240的进程。有时候可能会发现任务管理器里没有进程PID的信息显示,这时候只要点击任务管理器的查看-->选择列,

                         如下图,然后把PID勾选上即可。这时候再次查看当前进程的PID,把PID为240的进程kill掉。

              【4】adb uninstall + 应用的包名 快速卸载一个安卓应用

              【5】adb shell 进入手机终端(进入后操作类似linux)

              【6】adb pull test.txt 把一个文件从终端拉出来  例:adb pull /dev/1.txt

              【7】adb push test.txt把一个文件从终端转移到电脑上 例:adb push 1.txt /dev/

================================================================================

      2016/11/5    20:00-22:51   跟视频完成操作,了解一些基本功能,感觉到了学过linux操作的好处  ***休息***                          

================================================================================


14 电话拨号器案例(掌握) 意图对象  Intent

【1】画UI

【2】根据UI写对应的业务逻辑  在mainActivity里面写 在onCreate方法里面写逻辑

【3】给按钮设置一个点击事件

【4】自己定义一个类去实现方法需要的参数类型

private class MyClickListener implements OnClickListener{//Called when a view has been Clicked.当按钮被点击的时候调用@Overridepublic void onClick(View v) {//【4】获取edittext 文本内容String number = et_number.getText().toString().trim();if("".equals(number)){/*** context 上下文* Toast.LENGTH_LONG可以用1来表示。short可以用0来表示*/Toast.makeText(MainActivity.this, "number不能为空", Toast.LENGTH_LONG).show();return;}//System.out.println("按钮被点击了"+ number);//【5】进行拨打电话  意图IntentIntent intent = new Intent();//创建一个意图对象//【5.1】设置动作intent.setAction(Intent.ACTION_CALL);//【5.2】设置要拨打的数据/*** uri:同一资源标示符 自己定义的路径 想什么就代表什么* url:统一资源定位符 www.baidu.com*/intent.setData(Uri.parse("tel:"+number));//【6】开启意图startActivity(intent);}	}

【5】一定记得加上拨打电话的权限

<uses-permission android:name="android.permission.CALL_PHONE"/>

真机调试的时候,如果Android系统版本高于模拟器版本,logcat显示就不正常。最新的SDK运行的时候会出现

Would you like ADT to automatically monitor logcat output for messages from applications in the workspace.=>选择Yes

乐视2手机调出开发者模式需要在系统中找到版本号位置连续按七下即可进入开发者模式

SDK版本高,ADT版本低时会在eclipse中显示不出屏幕,只需要将eclipse上的Android version改为适合的就可以了。我在乐二上使用的是19(4.4)版本。

如果修改中文名导致R文件乱码报错。只需右键选择open with Text Editor .然后左上菜单选择Edit ->set Encoding ->other UTF-8

should use @string/resource 警告:Android建议引用全局变量,res/values/strings.xml文件中引用<string name="你要改动的变量的引用名">变量名</string>

例如:

 <TextViewandroid:id="@+id/textView1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/AllName"android:textSize="22sp" />

<Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@+id/editText1"android:text="@string/Message" />


<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">helloworld</string><string name="action_settings">Settings</string><string name="hello_world">Hello world!</string>    <string name="AllName">手机拨号器</string><string name="Message">拨号</string></resources>
关联源码
【1】Open Declaration =>F3 打开声明

【2】Attach Source

【3】选择External location =>External Folder

【4】选择SDK文件中的source中对应的Android版本。这里我选择的是19。按下OK。

Open type hierarchy=>F4 打开类层级视图

==================================================================================

      2016/11/6   20:00-23:21   了解到了如何查看文档,如何分清继承关系,踩了几个坑                ***休息***

     学习进度稍慢,考虑是否放下headfirst java,直接看视频先学Android,每次的选择都是意志力的消耗,慎之。                       

==================================================================================

按拨打电话时电话拨号器停止运行:requires android.permission.CALL_PHONE 拨打电话的操作权限

res=>AndroidMainfest.xml=>permissions=>Add=>Uses Permission=>Name:android.permission.CALL_PHONE

ActivityManager: Warning: Activity not started, its current task has been brought to the front 解决办法:重启程序

15 按钮的四种点击事件(掌握)

【1】定义了一内部类去实现按钮事件

【2】通过匿名内部类去实现

         抽取类:Shift+alt+m

【3】让当前类实现OnClickListener 接口类型(用于布局里面有很多按钮需要被点击的时候)

【4】在按钮的布局上加上一个onClick属性  在Activity里面定义一个方法 方法名和属性名相同(适合自己做一些Demo)

          设置一个接收参数View v

16 Android中常用布局(掌握线性和相对)

android中所有控件第一个字母大写

【1】线性布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:id="@+id/action_settings"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="请输入电话号码"android:textSize="19sp"android:layout_marginLeft="10dp"/><EditText android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入电话号码"/><Button android:layout_width="match_parent"android:layout_height="wrap_content"android:text="拨打"/></LinearLayout>

【2】相对布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:id="@+id/tv_number"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拨打此电话"android:textSize="20sp"android:layout_margin="10dp"/><EditTextandroid:id="@+id/tv_text" android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入电话号码"android:layout_below="@+id/tv_number"/><Button android:id="@+id/tv_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拨打"android:layout_below="@+id/tv_text"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拨打2"android:layout_toRightOf="@+id/tv_button"android:layout_below="@+id/tv_text"/>
</RelativeLayout>

【3】帧布局(播放器中间暂停的控件)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><EditText android:layout_width="match_parent"android:layout_height="match_parent" android:text="well"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="暂停"/>
</FrameLayout>

【4】表格布局

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TableRow><EditText android:layout_width="match_parent"android:layout_height="match_parent" android:text="well"android:layout_marginRight="50dp"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="暂停"/></TableRow></TableLayout>

wrap_content 中输入文字增多框条会向右拉伸,而match_parent则是文字向上堆叠

【5】绝对布局

  is deprecated

QQ斗地主中的三个头像

17 Android中单位介绍

padding 内边距  margin 外间距  避免使用px(在不同屏手机间相同的px所表现的出的效果不同)

dp会根据屏幕分辨率自动计算 文字用sp尺寸,非文字用dp尺寸,细线条用px.

==================================================================================

      2016/11/7  8:00-14:34         花了三天才断断续续看完一天的教程,感觉还是应该多思考。                 

==================================================================================



http://www.ppmy.cn/news/526577.html

相关文章

《那些年啊,那些事——一个程序员的奋斗史》七

61 让天平失去平衡&#xff0c;并不需要多大的重量&#xff0c;只需要一个轻微的小物体&#xff0c;就足以让优势倾向于另一方。对于此时处于矛盾中的段伏枥来说&#xff0c;也是如此。至少在今天之前&#xff0c;段伏枥还在犹豫中&#xff0c;如果武总和黄华中摊牌决裂&a…

被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」|GitHub热榜

詹士 发自 凹非寺量子位 | 公众号 QbitAI 「羊了个羊」有多恶心&#xff1f; 能逼程序员气到撸起袖子自己上…… 这两天&#xff0c;GitHub上就出现这么一个仿制版&#xff0c;名曰「鱼了个鱼」。 不同于以「极低通关率」肝死玩家的原版&#xff0c;此版作者放出话来—— 没广告…

被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」

「羊了个羊」有多恶心&#xff1f; 能逼程序员气到撸起袖子自己上…… 这两天&#xff0c;GitHub上就出现这么一个仿制版&#xff0c;名曰「鱼了个鱼」。 不同于以「极低通关率」肝死玩家的原版&#xff0c;此版作者放出话来—— 没广告&#xff01;可自定义关卡和图案&#xf…

ARM、ARM架构、ARM架构芯片

ARM是一种基于精简指令集&#xff08;RISC&#xff09;的处理器架构&#xff0c;它由英国的ARM公司设计和授权。 ARM芯片具有低功耗、高性能、高集成度等特点&#xff0c;广泛应用于嵌入式系统、移动设备、物联网、服务器等领域。本文将介绍ARM的各类芯片&#xff0c;包括其特…

PHP课程网站络管理系统(源代码+论文)

管理系统是根据课程网站的需求而设计和实现的,主要 用于实现课程系统办公人员对其办公系统内所有公务员进行管理,实现对员工信息的查询、录入、修改和删除;以及发布重要通知、最新信息和规章制度。通过“网上办公,无纸办公”,大大提高办公效率,体现现代政府的高效职能。 …

实战:NPMYARN构建工具实践-2023.6.22(测试成功)

实战&#xff1a;NPM&YARN构建工具实践-2023.6.22(测试成功) 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 实验环境 gitlab/gitlab-ce:15.0.3-ce.0 jenkins/jenkins:2.346.3-2-lts-jdk11 openjdk 11.0.18 [rootDevops6 ~]#npm -v 6.14.12…

Jenkins安装手册

Jenkins安装手册 一、前期准备工作 因为我是在Windows系统上连接Linux服务器以及需要把在Windows系统下载的安装包上传到Linux系统&#xff0c;所以需要用到两个工具---putty 和FileZilla。 Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端&#xff0c;但是…

word2019设置背景色为护眼的绿色

word2019设置背景色为护眼的绿色 问题描述: word的白色背景反光太强, 对眼睛不好, 需要设置成相对护眼的豆沙绿颜色 解决方法, 如下图所示, 设计→页面颜色→其他颜色→自定义→设置rgb值, 红色为204, 绿色为232, 蓝色为207