百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

如何自学Android

citgpt 2024-06-26 14:59 6 浏览 0 评论

1. Java知识储备


本知识点不做重点讲解: 对于有基础的同学推荐看《Java编程思想》,巩固基础,查漏补全,了解并熟悉更多细节知识点。 对于没有基础的同学推荐看一本Java基础的书籍,看完后可以继续看《Java编程思想》提升自己。 对于自认为时间很充裕,只要基础学扎实就好的推荐看《疯狂Java讲义》,这本书真的很厚,但是讲解的特别详细。

2. Android基础学习


1. 基础UI学习

如何自学Android


对于这些基础UI的使用API谷歌官网给出了很好的实例。对于上不了谷歌的同学,可以参考http://www.android-doc.com/reference/packages.html

比如我要看Button如何使用: 在网站的右上角搜索栏里面输入“Button”,然后下面提示一些带“Button”关键字的类,我们点击我们想要查看的类就可以看到这个类的基本使用方法及其API。

2. 四大组件学习


Activity的学习可以参考这几篇博文:

Activity生命周期
Activity的四种launchMode
Activity的task相关

Service的学习可以参考这篇博文:
Service完全解析

BroadCastReceiver的学习可以参考这篇博文:
BroadcastReceiver应用详解

ContentProvider的学习可以参考这几篇博文:
ContentProvider之读写联系人
ContentProvider之读写短消息
创建及调用自己的ContentProvider

四大组件之间的纽带Intent的学习可以参考这篇博文:

Intent应用详解

注意:默认情况下面Service是在主线程中运行的,默认情况下面BroadCastReceiver是存活在Android系统中的,不随着应用程序的关闭而消亡。


3. 五大布局学习


五大布局的精简使用介绍可以参考下面几篇博文:

LinearLayout、AbsoluteLayout
RelativeLayout、FrameLayout
TableLayout (一)
TableLayout (二)


4. 友好交互学习


这几个内容的学习可以参考下面几篇博文:

Android中的Menu(菜单)的三种类型菜单的学习
android ListView
Android Dialog用法
android Toast大全(五种情形)建立属于你自己的Toast
Notification的几种用法!
Android中PopupWindow的使用

作者:lavor 链接:https://segmentfault.com/a/1190000005059402 来源:SegmentFault 思否 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5. 数据存储


  • 内存存储将数据存储在内存中,读取速度最快但是不能永久性存储。
  • 文件存储通过Java的IO流将数据以文件的形式存储在磁盘上。
  • SharedPreferences以固定格式的xml文件的形式将数据存储在磁盘上。
  • 数据库存储一般是指将数据存储到Android自带的sqlite数据库中。
  • 网络存储是将数据传到云端进行存储。(典型应用:网盘)

SharedPreferences和数据库存储可以参考下面几篇博文: Android SharedPreferences的使用 android中的数据库操作

6. 网络访问


  • HttpClient:是Apache提供的。
  • HttpURLConnection:是谷歌根据Java自带的URLConnection改进的。
  • Socket:Socket是Java自带的基于TCP/IP的通信工具。
  • WebView:WebView是基于谷歌chromium内核的一个可以作为浏览器的视图。

这几个内容可以参考下面几篇博文: Android HttpClient Android_HttpURLConnection_Get和Post请求 基于android的Socket通信 android WebView总结

关于HttpClient,HttpURLConnection部分也可以参考郭霖的《第一行代码》中的相关部分。

注意:Android从4.0开始后就不能再主线程中进行网络操作。

7. 动画讲解


这几个内容可以参考下面几篇博文:

详解Android动画之Frame Animation
详解Android动画之Tween Animation
Android 属性动画(Property Animation) 完全解析 (上)
Android 属性动画(Property Animation) 完全解析 (下)


8. 画图


  • View画图可以参考Android画图最基本的三个对象(Color,Paint,Canvas)
  • SurfaceView画图可以参考android之View和SurfaceView
  • OpenGL ES画图可以参考Android OpenGL ES 教程

9. 多媒体与照相机


这几个内容可以参考下面几篇博文:

【Android笔记】MediaPlayer基本使用方式
Android Camera(一) 调用系统相机应用
Android Camera(二) Camera程序编写

作者:lavor 链接:https://segmentfault.com/a/1190000005059402 来源:SegmentFault 思否 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

10. 高级UI学习


这几个内容可以参考下面几篇博文:

Android Fragment完全解析,关于碎片你所需知道的一切
有关ViewFlipper的使用及设置动画效果的讲解
Android ViewPager使用详解
Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
Android 自定义View (一)
Android 手把手教您自定义ViewGroup(一)

作者:lavor 链接:https://segmentfault.com/a/1190000005059402 来源:SegmentFault 思否 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

11. 样式开发

这几个内容可以参考下面几篇博文:

Android样式的开发:shape篇

Android样式的开发:selector篇

Android样式的开发:layer-list篇

Android样式的开发:drawable汇总篇

Android样式的开发:View Animation篇

Android样式的开发:Property Animation篇

Android样式的开发:Style篇

12. 多线程与通信

  • Handle学习可以参考


以上所有文章得知识点,我都系统整理成了一个PDF需要的可以私信我【学习】我分享给你!

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: