位置: 编程技术 - 正文

Android 入门(安卓基础入门教程)

编辑:rootadmin
转载:

推荐整理分享Android 入门(安卓基础入门教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓 入门,android 开发入门,安卓0基础入门,安卓入门项目,android 开发入门,安卓入门项目,安卓入门项目,android最新教程,内容如对您有帮助,希望把文章链接给更多的朋友!

 博客园: 农民伯伯:

前言

  这是前段时间用于公司Android入门培训的资料,学习Android三周时间收集整理的,时间仓促,希望能对像我这样还没入门就直接上项目的人一点帮助 :)

声明 

博客园: 农民伯伯:   

   

正文

  一、 环境配置和安装(Android2.2)

  参考文章:这里

  1.1 JDK

  1.2 SDK

  下载地址:  1.3 Eclipse 3.5 (Galileo)

  下载地址:

    1.4 ADT 0.9.7

  下载地址:  1.5 安装

  依次下载,按照文章步骤安装即可,注意安装SDK时,需要如下设置下:

      

  不然更新不下来,那个链接地址被墙了。

  二、 Android系统架构

  

    2.1 Linux内核(Linux Kernel)

    * Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。

    * Linux 内核是硬件和软件层之间的抽象层。

    2.2中间件

    * 中间件包括两部分:核心库和运行时(libraries & Android runtime)

    * 核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。

    * Dalvik虚拟机:区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。

  2.3 应用程序框架(Application Framework)

    * 丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网&#;(grids), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。

    * 内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。

    * 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。

    * 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。

    * 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

  2.4 应用程序 (Applications)

  * Android 系统会内置一些应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。

  三、 Android系统包说明

  android.app :提供高层的程序模型、提供基本的运行环境

  android.content :包含各种的对设备上的数据进行访问和发布的类

  android.database :通过内容提供者浏览和操作数据库

  android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.

  android.location :定位和相关服务的类

  android.media :提供一些类管理多种音频、视频的媒体接口

  android.net :提供帮助网络访问的类,超过通常的Java.net.* 接口

  android.os :提供了系统服务、消息传输、IPC 机制

  android.opengl :提供OpenGL 的工具

  android.provider :提供类访问Android 的内容提供者

  android.telephony :提供与拨打电话相关的API 交互

  android.view :提供基础的用户界面接口框架

  android.util :涉及工具性的方法,例如时间日期的操作

  android.webkit :默认浏览器操作接口

  android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用

  四、 Android项目工程说明

  

  src: 存放java源代码。

  gen: 存放编译器自动生成的java代码,这个目录下的文件是系统自动维护的。

  assets: 存放在这个目录下的文件,无论是mp3还是图片,都会被打包到发布包中。

  res: 资源文件目录,添加到这个目录下的文件都会在gen下的R.ava文件中显示出来;如果res下存放的资源在应用中没有使用到,那么在gen下的R.java的文件中就不会显示,那么打包的时候就不会将这部分资源打包,减少了应用的发布文件大小。

  drawable:存放图片文件,注意图片名称必须是[a-z0-9_.]组成;drawable目录下不能分子级目录,只能通过命名方法来加以区分。

  layout:存放与UI相关的布局文件,都是xml文件。

  raw: 直接复制到设备中的任意文件,不会被编译,可以放数据库文件。

  values: 存放字符串,颜色,数组等常量数据。可以任意命名,但是通常命名:color.xml、strings.xml、array.xml、styles.xml、dimens.xml(定义尺寸&#;:dimension value)

  xml: 任意的XML文件,在运行时可以通过调用Resources.getXML()读取。

  参见 。

  五、 基本控件

  5.1 文本框(TextView)、自动完成(AutoCompleteTextView)

  自动完成的效果和代码:      AutoCompleteTextView :

  5.2 编辑框(EditText)

      

  android:hint 内容为空时提醒的信息,如“请输入”

  5.3 下拉列表(Spinner)

      

  android:entries 可以通过在strings.xml中指定string-array来设置选项。

  5.4 进度条(ProgressBar)

      

    效果和代码:  5.5 拖动条(SeekBar)

      

  5.6 评分条(RatingBar)

      

  5.7 按钮(Button)、图片按钮(ImageButton)

      Button:

      ImageButton:

  5.8 图片框 (ImageView)、画廊(Gallery)

  ImageView

      Gallery

      画廊效果:  5.9 日期和时间(DatePicker、TimePicker)

      AnalogClock

      DigitalClock

      Chronometer(计时器)

      DatePicker

      DatePickerDialog

      TimePicker

      TimePickerDialog

  5. 单项选择(RadioGroup、RadioButton)、多项选择(CheckBox)

      CheckBox

      RadioButton

      ToggleButton

  5. 表&#; (GridView)、列表(ListView)

      GridView

      ListView

  GridView:  ListView:  5. 对话框(AlertDialog)、对话框中的进度条(ProgressDialog)

      AlertDialog

  AlertDialog:  ProgressDialog:  5. 菜单(Menu)

  5. 提示(Toast)

  类&#;于MessageBox,非模式窗口。如:

  Toast.makeText(this, "信息", Toast.LENGTH_SHORT).show();

  5. GestureOverLayView

      

      文章1、文章2

    5. HorizontalScrollView

      

    5. MapView

      

    5. VideoView

      

    5. WebView

      

    5. ZoomControls

      

  六、 布局和容器

  6.1 帧布局(FrameLayout)

  放入其中的所有元素都被放置最左上的区域,无法为这些元素指定一个确切的位置。如果有多个子元素,那么后边的子元素的显示会重叠在前一个元素上。

Android 入门(安卓基础入门教程)

  6.2 线性布局(LinearLayout)

      

常用布局,子元素按行或列依次排列。

    android:layout_gravity是本元素对父元素的重力方向。

    android:gravity是本元素所有子元素的重力方向。

  6.3 绝对布局(AbsoluteLayout)

  可以让子元素指定准确的x/y坐标&#;,(0, 0)为左上角,没有页边框,允许元素之间互相重叠。

  6.4 相对布局(RelativeLayout)

      

允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)

  6.5 表&#;布局(TableLayout)

  将子元素的位置分配到行(TableRow)中,注意不会显示边框线也不能够跨行合并单元&#;。

  例子:  6.6 选项卡(TabWidget)

  

  例子:

  七、 常用代码

  7.1 在当前Activity中启动另外一个Activity

 startActivity(new Intent(this,目标Activity.class));

  7.2 从当前ContentView从查找控件

    (Button)findViewById(R.id.btnAbout)

    R.id.btnAbout指控件id。

  7.3 获取屏幕宽高

    DisplayMetrics dm = new DisplayMetrics();

    //获取窗口属性

    getWindowManager().getDefaultDisplay().getMetrics(dm);

    int screenWidth = dm.widthPixels;//

    int screenHeight = dm.heightPixels;//

  7.4 无标题栏、全屏

    //无标题栏

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    //全屏模式

  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   

      WindowManager.LayoutParams.FLAG_FULLSCREEN);

  注意在setContentView()之前调用,否则无效。

  7.5 注册activity

所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。如:<activity android:name="com.common.TestView"> ,注意是包名&#;类名。

  八、 Adb命令行

  8.1 DOS进入android-sdk-windowstools目录

  8.2 Linux

  登录linux命令:adb shell

  列出当前文件:ls

  删除文件:rm 文件名

  8.3 Sqlite

  登录sqlite命令:sqlite3

  8.4 Adb命令

  列出当前有哪些活动的模拟器:adb devices

  上传文件:adb push

  安装apk文件:adb install android.apk

  九、 Apk文件破解

  9.1 获取apk的资源图片

直接用 WinRAR打开,res/drawable直接拖拽出来即可。

  9.2 获取xml文件信息

虽然能用WinRAR看到里面的xml文件,但是xml是经过优化的,无法直接查看,需要使用apktool工具,下载地址: d callinfo.apk callinfo,这里第四个参数为破解完存放的路径。

  9.3 反编译dex获取Java源代码

Apktool工具只能反编译成smali的中间代码文件,这里需要借助另外一个开源工具:dex2jar,下载地址: 。

dex文件(classes.dex)可以用WinRAR从apk文件中解压出来。

  十、 小技巧

  .1 使用系统的图标

例如调用系统打电话的图标:

  <ImageView android:src="@android:drawable/ic_menu_call"

  图标名称和效果(Android1.5和1.6):

  .2 让控件透明,如ImageButton

设置android:background="@null"

  .3 在layout中直接指定onclick方法

不用手动绑定,在layout中设置android:onClick=”methodName”,methodName为对应Activity中的方法,如下&#;式:public void methodName(View view){} (适应1.6以上版本)

  .4 用PC键盘控制模拟器

PC键盘

模拟器按键

说明

Home

Home

主页

F2

Menu

菜单

Esc

Back

后退

F3

Call

打电话

F4

Hangup

挂断

F5

Search

搜索

Ctrl&#;F

横竖屏切换

  .5 进入界面就显示/隐藏软键盘

在AndroidManifest.xml中设置activity的

android:windowSoftInputMode="stateHidden"

  .6 界面可视化布局工具

系统提供可视化布局并不好用,这里推荐一款,布局完后点生成代码即可:

DroidDraw:

  .7 在Eclipse中看Android的源码

将源代码拷贝至android-sdk-windowsplatformsandroid-4sources下即可。注意源码版本对应android-4文件夹,这里指Android1.6的源码。

  十一、 Q & A

  .1 用模拟器调试频繁连不上,或者报emulator- disconnected的错误?

Window(窗口) -> Show Views(显示视图) -> device -> view menu(视图菜单)

-> Reset adb

  .2 匿名类中如何使用this?

classname(类名).this

  .3 程序出错后模拟器上仅显示应用程序遇到问题将关闭怎么办?

可以从LogCat中检查错误,默认LogCat在DDMS视图中,可以通过以下方法调整到Java视图与控制台并列显示:点击Eclipse左下角 ,点开后在其他里面找到Android目录下的LogCat拖拽出来即可。

  十二、后期维护

    .1  --1  

      补充了许多控件的截图,导出PDF下载:

    .2  --

      补充了GestureOverLayView的文章链接,文章1是英语的,文章2为中文的。

我的自定义Adapter publicabstractclassAbstractBaseAdapterTextendsBaseAdapter{publicLayoutInflaterinflater;privateContextcontext;publicListTmList;protectedintmInflaterId;BaseViewHolderbaseViewHolder;publicBaseViewHolderg

Android 颜色对照表 颜色代码大全AA指定透明度。是完全透明。FF是完全不透明。超出取范围的将被恢复为默认。ffffffffffffffffffffccffffffffccffccffccffccffccccffccffff

Android 点击按钮隐藏键盘 直接上代码privatevoidcloseSoftInput(Contextcontext){if(context!=null){InputMethodManagerinputMethodManager=(InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);if(inputMetho

标签: 安卓基础入门教程

本文链接地址:https://www.jiuchutong.com/biancheng/379581.html 转载请保留说明!

上一篇:[置顶] 【对比Android与IOS开发系列】之 Activity与UIViewController(置顶朋友圈所有人能看到吗)

下一篇:我的自定义Adapter(我的自定义计划怎么删除)

  • 2023小规模免税收入会计分录怎么写啊
  • 本期实际抵减税额合计0.00不等于
  • 私车公用如何避税
  • 利润的敏感性分析怎么做?
  • 个税申报与社保申报一定是一致的么
  • 固定资产进项税怎么入账
  • 货币资金应计入什么科目
  • 增值税专用发票是干什么用的
  • 上市公司收购其他公司要多久
  • 建筑公司办公室照片真实
  • 受托代销商品款是什么科目
  • 生产工人的费用属于什么会计科目
  • 库存现金和银行存款的区别
  • 车辆购置税完税证明网上打印
  • 存货盘盈属于什么活动
  • 跨年的费用需要冲减
  • 运输业应列入
  • 资产减值损失是
  • 现金存款账户
  • 金税盘减免分录
  • 风险纳税人不处理行吗
  • 中标服务费会计科目
  • 在外地的分公司可以独立核算开发票吗
  • 基建拨款账务处理
  • 投资管理公司收费
  • 事业单位是否需要章程
  • 建筑队能开哪些项目
  • 出售固定资产计入
  • 房地产企业预缴增值税如何申报
  • 筹建期间的开办费包括哪些
  • 印花税多计提如何冲回
  • 融资性售后回租承租方为什么不交税
  • 核定征收和查账征收,交的税一样吗
  • 驱动备份和还原工具软件有哪些
  • 财产转让所得怎么申报个税
  • 公司旅游费用怎么入账
  • 先入费用后来发票怎么做账
  • 试用产品无法收集
  • 商会账目
  • 处理车辆违章送什么证件
  • 申报补缴是什么意思
  • php实现创建微信群聊
  • 汽车定额发票怎么填写
  • vue发送数据
  • 长期借款和短期借款的区别是什么
  • 网上打印企业征信流程
  • 费用报销单怎样粘贴
  • 多线程的弊端
  • ps渐变透明效果怎么弄
  • 应交增值税缴纳后入什么费用
  • 律师费开票税费谁承担
  • 营业外收入账务处理方法
  • 应付账款转入营业外收入的证明
  • 新成立的公司做广告如何写公司简介部分
  • 新会计准则规定
  • 没有抄税会导致什么情况
  • 融资租赁缴纳什么税
  • 附加税税率是指
  • 内部往来划账通知单
  • 预计负债转回对所得税费用的影响
  • 无固定合同有哪些好处
  • 已入库的原材料会计分录
  • 外汇申报材料
  • 进口增值税当月可以抵扣吗
  • 私企干不长久
  • 建立索引mysql
  • 双硬盘 win10
  • linux zen3
  • unity自动门
  • python里!
  • 基于重大误解实施的民事法律行为
  • javascript如何学
  • pythone爬虫
  • jquery操作html代码
  • HorizontalListView
  • qt Android开发
  • 内蒙古自治区耕地保养条例
  • 上海买房各种税
  • 开个小型外卖店要多少钱
  • 如果企业所得税没有做计提怎么办?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设