- 博客(50)
- 资源 (6)
- 收藏
- 关注
原创 百度语音REST API -- 简单Demo
先到百度语音官网上查看语音识别API 然后再去下载识别、合成 REST API 开发文档、示例代码 大概了解一下Sample.java里面的使用方式我就直接上代码了,我是在Android Studio 2.3.3 平台上编译的 1、AndroidManifest.xml 这里只是添加了一个网络权限,其他都没动<uses-permission android:name="android.pe
2017-10-19 00:45:49
2585
原创 Java -- 常见问题
面试题1: byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是编译失败的呢?为什么呢?class Demo1 { public static void main(String[] args) { byte b1 = 3,b2 = 4,b; b = b1 + b2; b = 3 + 4; Sys
2017-10-16 23:20:33
643
原创 百度语音识别Demo -- 简单应用
先到百度语音官网上查看集成指南 然后再去下载语音识别-离在线融合SDK(bd_speech_sdk_asr_v3.0.3.20170801_60da871.zip) 直接参考SDK中的ActivityMiniRecog类这里,我就直接上代码了,我是在Android Studio 2.3.3 平台上编译的 1、app\build.gradleapply plugin: 'com.android.
2017-10-15 02:52:04
13373
3
原创 Android 源码中编译Android studio工程
1、package/apps目录下新建文件夹(如MyOkhttpDemo),并在MyOkhttpDemo目录下新建src文件夹 2、将OkhttpDemo工程目录中的AndroidManifest.xml文件拷贝到MyOkhttpDemo目录 3、将OkhttpDemo工程目录中的res文件夹拷贝到MyOkhttpDemo目录 4、将OkhttpDemo工程目录中的com文件夹(即包名目录)拷
2017-10-13 14:44:13
2081
原创 第一行代码 Git的使用
git – 版本控制工具一、安装git 1、Linux环境 sudo apt-get install git-core2、windows环境 到官网下载git的安装包,然后一路next。安装完后,配置一下身份,这样 在提交代码是就可以通过git查到是谁提交的了。 git config –global user.name “Archer” git config –global user.em
2017-10-09 17:56:41
874
原创 第一行代码 第九章 网络技术 - 解析JSON格式数据
比起XML格式数据,解析JSON格式数据会更省流量。 解析的方式也有很多种方法,可以使用官方提供的JSONObject,也可以使用谷歌的开源库GSON。一、JSONObject 实例: MainActivity.javapublic class MainActivity extends AppCompatActivity implements View.OnClickListener {
2017-08-22 07:58:17
571
原创 第一行代码 第九章 网络技术 - 解析xml数据
在网络上传输数据时,最常用的格式有两种:XML和JSON.解析XML格式的数据也有很多方式,比较常用的两种是:Pull解析和SAX解析。一、Pull解析方式 实例: MainActivity.javapublic class MainActivity extends AppCompatActivity implements View.OnClickListener { TextView t
2017-08-22 00:49:27
669
原创 第一行代码 第九章 网络技术 - 搭建Apache服务器
搭建简单的Web服务器 下载Apache服务器的安装包,下载完成后双击进行安装,之前可以一路next。 安装成功后,在地址栏中输入:127.0.0.1,如果出现页面说明服务器已经启动成功了。接着再安装路径中找到htdocs文件夹,在该目录中新建一个xml文件,如demo.xml 在地址栏中输入:127.0.0.1/demo.xml,这是就该显示demo.xml页面信息。安装过程中常见错误:
2017-08-22 00:10:29
1259
原创 第一行代码 第九章 网络技术 - WebView和HttpURLconnection以及OkHttp
一、WebView简单介绍 Android提供了WebView控件,使用它可以在自己的应用程序中嵌入一个浏览器,从而展示网页。获取到WebView的实例后,可以通过实例的getSettings()方法去设置浏览器的属性。setJavaScriptEnabled(true)方法表示让浏览器支持JS脚本。setWebViewClient(new WebViewClient())方法表示当一个网页需要跳
2017-08-21 23:57:28
1349
1
原创 第一行代码 第六章 数据储存方案 - LitePal数据库存储
LitePal – 一款开源的Android数据库框架。 它采用对象关系映射的模式(ORM),将开发中常用的数据库功能进行封装,使得不用编写SQL语句就可以完成各种建表和增删改查的操作。在项目中使用开源库: 大多数的开源项目都会将版本提交的jcenter上,我们只需要在app/build.gradle文件中声明该开源库的引用就可以了。LitePal项目地址:https://github.com/
2017-08-17 00:56:23
1107
原创 第一行代码 第六章 数据储存方案 - SQLite数据库存储
SQLite数据库存储 一、创建数据库 新建一个类,继承SQLiteOpenHelper,并重写onCreate()方法和onUpgrade()方法,分别在这两个方法中去实现创建、升级数据库的逻辑。 SQLiteOpenHelper的构造方法中接收4个参数。 第一个参数是Context 第二个参数是数据库名称 第三个参数是允许我们在查询数据的时候返回一个自定义的cursor,一般传入nul
2017-08-15 23:24:52
531
原创 第一行代码 第六章 数据储存方案 - SharedPreferences存储
SharedPreferences存储 它是采用键值对的方式来存储数据的。SharedPreferences文件是使用XML格式对数据进行管理的。将数据存储到SharePreferences中 1.获取SharedPreferences对象 获取方式有3种 1)Context类中的getSharedPreferences()方法; 该方法接收两个参数 a.指定SharedPreferen
2017-08-12 22:54:43
328
原创 第一行代码 第六章 数据储存方案 - 文件存储
Android主要提供了3个方法实现数据的持久化功能 1、SharedPreference存储;2、文件存储;3、数据库存储1、文件存储 它是android中最基本的一种数据存储方式。它不对存储的内容做任何的格式化处理,将数据原封不动地保存到文件中。Context类中提供了openFileOutput()方法,用于将数据存储到指定的文件中。 该方法提供两个接收参数 第一个参数是文件名。这里指
2017-08-12 22:52:32
548
原创 第一行代码 第7章 内容提供器 --实现跨程序数据共享
DatabaseTest.apk源码如下:MainActivity.javapublic class MainActivity extends AppCompatActivity implements View.OnClickListener { private MyDatabaseHelper myDatabaseHelper; @Override protected void
2017-08-12 22:03:04
442
原创 第一行代码 第7章 内容提供器 -- 运行时权限
Android运行时权限: 由android 6.0系统上引入了这个功能 , 允许用户在安装软件时不需要一次性授权所有的申请权限,而是可以在运行时对某一项权限申请进行授权。Android将权限分为两类 一类是普通权限:不会直接威胁到用户安全和隐私的权限,由系统自动授权。 一类是危险权限:涉及用户隐私,和对设备安全性的权限,由用户手动授权,否则该应用程序无法使用该功能。android的威胁权限一
2017-07-23 15:44:44
424
原创 第一行代码 第10章 服务 -- 前台服务与IntentService
1、前台服务 与后台服务区别:它会一直有一个正在运行的图标在系统的状态栏显示,类似通知。创建前台服务 在服务的onCreate()方法中添加一下代码: Intent intent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivit
2017-07-23 13:35:35
723
1
原创 第一行代码 第10章 服务 -- 生命周期
服务的生命周期 第一种方式:通过startService()方法启动服务的生命周期第一次启动服务时,会调用Service中的onCreate()方法,接着会调用onStartCommand()方法,之后再次启动服务时,只会调用onStartCommand()方法。不管启动了多少次服务,每个服务只会存在一个实例,当调用stopService()方法或者stopSelf()方法时,会调用onDestr
2017-07-23 11:42:43
340
原创 第一行代码 第10章 服务 -- 活动与服务进行通信
活动与服务进行通信:通过bindService()当一个活动和服务绑定之后,就可以调用该服务里的Binder提供的方法AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="co
2017-07-23 11:23:33
472
原创 第一行代码 第10章 服务 -- 基本用法
服务的基本用法 AndroidManifest .xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sky.servicedemo"> <application andro
2017-07-05 23:45:24
457
原创 第一行代码 第10章 服务 -- Handler与AsyncTask
从广播一下跳到服务这章。。。已然没什么耐心了~~~ 好吧。。。继续 啥是服务? 在Android系统中,服务是实现应用程序后台运行的解决方案。 1、服务依赖于创建它的应用程序,当这个应用程序被杀死时,所有依赖于该进程的服务也会停止运行。 2、服务的代码默认运行在主线程中,因此需要在服务的内部手动创建子线程,并在子线程中执行具体的任务,避免阻塞主线程。一、创建线程的方式 方式1、新建一个类
2017-07-05 01:24:23
487
原创 第一行代码 第五章 广播
1、Android 中的广播分为两种类型:标准广播和有序广播 标准广播(Normal broadcasts): 它是一种异步执行的广播。在广播发出去以后,所有的广播接收器(Broadcast Receiver)几乎会在同一时刻同时接收到这条广播消息,因此该广播无法截断。有序广播(Ordered broadcasts): 它是一种同步执行的广播。在广播发出去以后,同一时刻只有一个广播接收器能够收
2017-07-02 23:50:48
382
原创 第一行代码 第三章 RecyclerView
由于ListView只能实现数据纵向(垂直)方向的滚动效果,不能实现横向(水平)方向的滚动效果。因此,android官方更加推荐使用RecyclerView。RecyclerView可以说是ListView的加强版,不仅可以实现和ListView同样的效果,还优化了ListView的不足之处,同时具有很好的扩展性(实现横向布局,网格布局,瀑布流布局)RecyclerView是android新增的控件
2017-06-30 04:49:45
925
原创 第一行代码 第三章 ListView
ListView的demo在网上有很多,自己去找。。。 1、基本用法<!-- main.xml --><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr
2017-06-28 00:50:10
1093
1
原创 第一行代码 第三章 引入布局和自定义控件
1、引入布局方式// title.xml<?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="w
2017-06-27 00:55:20
688
原创 第一行代码 第三章
match_parent:由父布局来决定当前控件的大小(同fill_parent) wrap_parent:由控件内容来决定当前控件的大小android:gravity属性:用来指定文字在控件的对齐方式。可选值有top、bottom、left、right、center(center_horizontal和center_vertical)android:layout_gravity属性:用来指定控件
2017-06-25 18:55:20
542
原创 第一行代码 第二章 Activity的启动模式
Activity的启动模式:standard模式、singleTop模式、singleTask模式、singleInstance模式。一、在AndroidManifest.xml中通过给activity标签指定android:launchMode属性来选择启动模式。1、standard模式 这是一种默认模式。即不需要指明启动模式。 在这种模式下,不管该活动是否已存在返回栈中,每次启动都会创建该活
2017-06-25 18:47:02
552
原创 第一行代码 第二章 Activity的生命周期
一、Activity的活动状态 a、运行状态:该Activity处于栈顶位置上,并且可与用户进行交互 b、暂停状态:该Activity不在栈顶位置上,但仍然可见 c、停止状态:该Activity不在栈顶位置上,且不可见。这时可能会被系统回收。 d、销毁状态:该Activity从栈中移除了(调用finish())。系统回收资源。二、生命周期方法: 1、onCreate():当Activity
2017-06-25 18:27:14
606
原创 第一行代码 第二章 Activity
一、Activity基本概念 Activity 主要用于和用户进行交互。 一个项目的主Activity,可在Androidmanifest.xml文件中的确认,主Activity包含如下信息:<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="an
2017-06-21 00:14:26
657
原创 第一行代码 第一章
一、Android 系统架构大概了解Android系统架构主要分四层1、Linux内核层 这层主要提供Android设备的各种硬件驱动,如蓝牙、WiFi等。2、系统运行库层 这层主要提供了对Android系统的特性支持,如webkit库提供了浏览器内核的支持、SQLite库提供了对数据库的支持等。同时这层还提供了Android运行时库,包含了Dalvik虚拟机。3、应用框架层
2017-06-20 00:12:12
2347
原创 TabHost必须调用tabHost.setup()
当使用TabHost时,必须调用tabHost.setup();否则会出现如下错误提示:11-13 10:45:23.645: E/AndroidRuntime(1299): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tabhosttest/com.tabhosttest.MainActiv
2016-11-13 23:49:05
1245
原创 Java 字符串比较==与equals()区别
==:它是比较两个字符串的地址是否相同equals():它是比较两个字符串的内容是否相同示例代码如下: String com1 = new String("asd"); String com2 = new String("asd"); if(com1==com2){ System.out.println("com1=====com2"); } i
2016-10-29 22:10:39
382
原创 Java 简单排序 -- 直接选择排序
抛砖。。。别砸我。。。。直接选择排序:核心思想1.从array[0] - array[n-1]中选择最小的值,然后与array[0]交换位置2.从array[1] - array[n-1]中选择最小的值,然后与array[1]交换位置3.从array[2] - array[n-1]中选择最小的值,然后与array[2]交换位置。。。。。。。。。以此类推
2016-10-29 21:45:28
423
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人