Android开发基础
学习笔记666
这个作者很懒,什么都没留下…
展开
-
Android体系结构 - 了解
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个Java的Application Framework,所有的应用程序都是基于Java的Application Framework之上。 Android分为四层,从高到低分别是:应用程序层、应用程序框架层、系统运行库层和Liunx核心层。 上图蓝色的代表Java程序,黄色的代表为原创 2017-01-05 16:09:37 · 492 阅读 · 0 评论 -
在APP中加载网页的套路(一):外壳的产生
webView是默认的组件,就好比嵌入的一个浏览器。从Android 4.4开始使用chromiun内核。1,我们布局文件里加入WebView 组件 <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/原创 2017-03-31 14:01:33 · 4696 阅读 · 0 评论 -
在APP中加载网页的套路(一):外壳的产生(补充)
http://blog.csdn.net/github_26672553/article/details/68924441 在前面我们是使用了布局,然后布局里创建了WebView组件,最后来加载url,显示网页内容的。其实,我们也可以不需要layout(布局),直接在Acitivity里创建这个组件: protected void onCreate(@Nullable Bundle save原创 2017-03-31 14:48:46 · 572 阅读 · 0 评论 -
混合APP开发的套路(二):加载项目中的html
关于res和assets文件夹1、两者都可以存放资源文件,打包时都会被编译进apk里。其中res中的资源如果没有用到,打包时不会被编译 2、res文件夹中文件会被映射到R.java文件中,可以通过R.layout.xxx或者R.id.xxx来访问;assets里面的文件,可以通过AssetManager对象来读取 3、assets里面还可以定义自己的文件目录结构 (如果没有此文件夹,新建)1、原创 2017-03-31 15:22:18 · 1521 阅读 · 0 评论 -
混合APP开发的套路(三): android和javascript初步交互
我们测试方便,我们利用布局<?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" a原创 2017-04-01 14:59:50 · 538 阅读 · 0 评论 -
混合APP开发的套路(三): android和javascript初步交互(js调安卓)
http://blog.csdn.net/github_26672553/article/details/68944631 前面我们实现了,在安卓里调用 js代码。现在我们来看看,js里如何调用android里的方法。首先,我们在Activitity里(我们这是WebViewActivity.java),定义一个方法 @JavascriptInterface public void原创 2017-04-01 15:51:22 · 1268 阅读 · 0 评论 -
intent打开外部程序、setClassName和 ComponentName 区别
回忆一下:我之前是怎么使用intent来打开新的Activity的? intent.setClass(当前组件.this, 目标组件.class);那如何我要打开外部应用呢?比如我要通过按钮点击后,打开系统闹钟 intent.setClassName(包名, 包名+activity名);public void onClick(View v){ //((Button)v).setT原创 2017-03-17 10:54:39 · 25050 阅读 · 0 评论 -
使用uri的方式打开应用、为什么要设置Action
看之前我们学到的代码Intent intent = new Intent();intent.setAction(intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);uri:用于标识某一互联网资源名称的字符串 简单理解格式如下: [scheme:][//hos原创 2017-03-17 14:46:48 · 1291 阅读 · 0 评论 -
混合APP开发的套路(四):在html页面中打开项目中的Activity
前面我们学习了android和 网页(javascript)的交互,互相调用函数。 今天我们要来学习,如何在html页面中打开安卓项目中的Activity。1、准备 做一个登录界面。 新建布局文件login.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.原创 2017-04-05 15:15:36 · 1450 阅读 · 1 评论 -
混合APP开发的套路(四):在html页面中打开项目中的Activity(url的方式)
http://blog.csdn.net/github_26672553/article/details/69257741 前面我们已经学习了:在html页面中如何打开安卓项目中的Activity。 我们现在来个补充:利用url的方式。1、在配置文件里 <activity android:name=".LoginActivity"> <intent-filt原创 2017-04-05 15:30:37 · 798 阅读 · 1 评论 -
混合APP开发的套路(五): Activity保存登录用户名
前面我们已经搭建了一个登录界面,现在我们来尝试保存登录的用户名。 利用安卓SharedPreferences 这个API.1、在登录界面,点击登录按钮之后,保存用户名。 LoginActivity.javapackage com.example.dev.firtapp;import android.content.Intent;import android.content.SharedPre原创 2017-04-06 10:40:39 · 993 阅读 · 0 评论 -
混合APP开发的套路(6): Android发送http网络请求
前面我们做来一个非常简单丑陋的界面,通过html页面打开一个登录窗口,这就是我们所谓的混合开发,部分功能使用原生代码来编写,另外一部分使用html编写。今天我们要来学习Android发送http网络请求。关于http网络请求,如果我们使用最原始的方式也能实现,但是实际开发我们肯定是使用一些现成的开源内库。 我这里使用的是: https://github.com/afollestad/bridge原创 2017-04-21 13:59:21 · 4377 阅读 · 0 评论 -
Android通知栏消息(基本文字通知)
结合官方文档: https://developer.android.com/index.html https://developer.android.com/reference/android/app/NotificationManager.html https://developer.android.com/reference/android/app/Notification.html原创 2017-04-21 15:14:28 · 2066 阅读 · 0 评论 -
IDEA配置Android SDK
IDEA配置Android SDK、创建第一个项目1、必备2个SKDjdk 建议1.7+; Android SDK下载地址: http://tools.android-studio.org/index.php/sdk/ 按照Googel的建议,我们使用最新版的SDK。下载完成后请打开里面的一个SDK Manager工具。打开IDEA,配置SKD。 点击Configure,然后选择Projec原创 2017-06-01 09:02:28 · 62112 阅读 · 2 评论 -
外部程序关联我们的app,打开并读取txt内容
前面我们已经学习了,通过在AndroidManifest.xml配置文件里设置action和scheme,来实现Activity的跳转。 http://blog.csdn.net/github_26672553/article/details/62887667mimeType<intent-filter> <data android:mimeType=""></intent-filter原创 2017-03-30 19:57:45 · 2081 阅读 · 0 评论 -
用配置的方式(隐式),实现Activity的跳转
前面我们简单的接触了intent的重要属性 intent有著名的七大属性 ComponentName、Action、Category、Data、Type、Extra、Flagintent.setClass(MainActivity.this,IndexActivity.class);在我们前面的程序中,我们通过『硬编码』的方式来指定Activity的跳转。 问题在于一旦流程发生变化,我们就原创 2017-03-04 15:55:06 · 1611 阅读 · 0 评论 -
页面间数据交互、点按钮浏览网页
Activity之间传递数据现在我们要学习到的是Intent的Extra属性。 我们可以通过 intent.putExtra(key,value) 把需要的内容放进去。然后在第二个Activity中我们可以得到Extra Intent intent = getIntent(); intent.getExtras().get(“xxxxx”)Intent it = new Intent(原创 2017-03-04 15:03:54 · 1044 阅读 · 0 评论 -
电话拨号器(案例)
1.新建项目,搭建界面 界面上有3个元素(拖控件的方式完成的):TextView;TextFields(Phone类型),也叫做EditText;Button。布局如下: 注意:输入手机号码的EditText 控件我们修改了ID为phone_text,按钮控件的ID为bt_call,后面都要用到这个2个ID。 activity_main.xml完整代码如下:<?xml version=原创 2017-01-07 13:46:33 · 738 阅读 · 0 评论 -
按钮添加点击事件的多种方式
1.接着前面的“电话拨号器”案例,先把代码优化一下,把拨打电话的代码抽取出来 /** * 把拨打电话的业务逻辑抽取出来 */ private void callPhone(){ //先要获取用户输入的电话号码 EditText phone_text = (EditText)findViewById(R.id.phone_text);原创 2017-01-07 17:06:38 · 4846 阅读 · 0 评论 -
安卓布局 - 线性布局(LinearLayout)
在项目目录res/layout下,新建一个布局文件,名字叫linearlayout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layou原创 2017-01-10 16:32:29 · 489 阅读 · 0 评论 -
安卓布局 - 帧布局(FrameLayout)
FrameLayout (帧布局),在实际开发中用的较少,只有在特定的场合才需要。<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:l原创 2017-02-07 20:53:17 · 1264 阅读 · 0 评论 -
安卓布局 - 表格布局(TableLayout)
<?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" andro原创 2017-02-08 21:36:07 · 991 阅读 · 0 评论 -
安卓布局 - 相对布局(RelativeLayout)
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextV原创 2017-01-19 15:06:46 · 461 阅读 · 0 评论 -
往内部存储写文件
用案列演示。用户登录,把帐号、密码数据写入文件。1.构建界面<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and原创 2017-02-15 11:54:20 · 426 阅读 · 0 评论 -
从内部存在中读文件
前面我们学习过了 往内部存储中写文件。 现在我们来读该文件,并且解析读取到的数据,显示到界面上。 /** * 从内部存储读取用户数据 */ public void readAccount(){ //要读取的文件 File f = new File("data/data/com.example.dev.readwritefile/i原创 2017-02-15 13:45:23 · 266 阅读 · 0 评论 -
使用路径API获取获取内部存储目录的路径
前面我们已经了解了 往内部存储中写文件 从内部存储中读文件但这处理文件路径的时候,我们都是『写死的』 data/data/com.example.dev.readwritefile/info.txt我们需要优化这部分代码,使用API来获取存储的目录。 //要读取的文件File f = new File(getFilesDir(),"info.txt");案列全部代码:package co原创 2017-02-15 14:32:03 · 981 阅读 · 0 评论 -
检测sd卡状态,并往sd卡写入文件
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //返回一个File对象,其路径是sd卡的真实路径 File f = new File(Environment.getExternalStorageDirectory(),"info.txt"); FileOutputSt原创 2017-02-15 15:16:08 · 896 阅读 · 0 评论 -
使用SharedPreferences来保存用户登录帐号密码
前面我们使用过『往内部存储里写文件』的方式来保存用户登录的帐号和密码。 其实要保存用户帐号密码,更好的方式是使用SharedPreferences /** * 登录操作 * @param v View对象 */ public void login(View v){ //获取输入的用户名和密码 EditText et_nam原创 2017-02-15 16:15:14 · 2014 阅读 · 0 评论 -
组件的ID、事件监听器、 按钮点击效果
今天我们学习第一个监听器onClickListener,从属于View类,是一个接口。 要想让按钮产生点击事件需要写一个类并且实现该接口的方法。 接下来,我们使用最常规的方法来实现 1,创建一个类 2,继承OnClickListener接口 3,设置按钮的监听器 4,点击按钮后更改按钮的text文本1、我们在布局文件activity_main.xml 里添加一个按钮原创 2017-03-04 11:48:58 · 781 阅读 · 0 评论 -
设置启动界面、界面间跳转、intent初步接触
AndroidManifest.xml可以认为是安卓项目的主配置文件,比如设置主入口类(MainActivity)、icon、theme等。本节课我们来完成一个界面跳转的功能。 首选新建一个Activity类,比如我们取名为IndexActivity.java:package com.example.dev.firtapp;import android.os.Bundle;import andr原创 2017-03-04 14:28:18 · 807 阅读 · 0 评论 -
Cordova入门篇:(一) IDEA+Cordova运行第一个项目
原生应用:Android中是java,iOS中是Objective-C、Swift为主要语言进行开发。 纯Web应用:也就是所谓的响应式网站,在移动和PC中通过浏览器访问。 混合型应用:利用Web应用和原生应用婚后进行开发。比如展现部分用web在特定的webView中展示,部分核心功能依然是原生开发。cordova会是这样一个混合型框架(一个好桥梁)。网址: http://cordova.ap原创 2017-06-01 10:48:02 · 4438 阅读 · 0 评论