7 awodefengduanwu

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 10w+

简单理解java反射机制

什么是反射?1,反编译:.class–>.java2.通过反射机制访问java对象的属性,方法,构造方法等;反射应用场景:Jdbc 加载驱动-----Spring ioc框架获取类的三种方法//第一种方式: Classc1 = Class.forName("Employee"); //第二种方式: //java中每个类型都有class 属性. ...

2020-05-06 14:29:21

为你,千千万万遍——《追风筝的人》读书分享

为你,千千万万遍!《追风筝的人》,是一部了解多年却一直没有去读的书,直到看到这句“为你,千千万万遍”,我一下子被打动了。这是一个发生在阿富汗的故事,一个持续几十年的关于忠诚、愧疚与赎罪的故事。忠诚二十世纪六十七年代的阿富汗,还没有苏联入侵,还没有塔利班,虽然国内种族歧视和阶级分化严重,但总体还算安定祥和。主人公阿米尔就出生于这个时期的一个富豪家庭,一年后他们家仆人的儿子哈桑也出生了。由于阿...

2020-04-28 14:47:21

【动态加载】ANDROID动态加载使用SO库时要注意的一些问题

Android项目里的SO库正好动态加载系列文章谈到了加载SO库的地方,我觉得这里可以顺便谈谈使用SO库时需要注意的一些问题。或许这些问题对于经常和SO库开发打交道的同学来说已经是老生长谈,但是既然要讨论一整个动态加载系列,我想还是有必要说说使用SO库时的一些问题。在项目里使用SO库非常简单,在 加载SD卡中的SO库 中也有谈到,只需要把需要用到的SO库拷贝进 jniLibs(或者Eclips...

2020-04-26 13:46:11

load 与 loadLibrary

JNI 使用 Native 库时 一般用load 与 loadLibrary 两个方法,它们的区别主要如下分析。加载的路径不同:System.load(String filename) 是从作为动态库的本地文件系统中以指定的文件名加载代码文件,文件名参数必须是完整的路径名且带文件后缀;而 System.loadLibrary(String libname) 是加载由 libname 参数指定的系...

2020-04-24 10:24:17

Android So加载的路径选择

我们在Android应用程序会常常的加载一些So文件来完成我们的目标,那么我们的APK加载So是有哪些平时我们没有注意到的事情呢?首先我们一般开发会遇见两种APK(其实一般大部分只会遇到一种),一种为系统级APK,另外一种为普通APK。那么这个两种APK跟So加载有什么关系呢?别急,让我们先聊聊我们那些操作会产生这些类型的APK。普通级AKP:pm install + 包名将会把APK安...

2020-04-23 19:26:39

Android TTS接口分析和调用实现

这篇文章会分享下speech包源码,我们会更明白speech包接口的来龙去脉。本篇文章我们主要讲解调用的关键接口,其他的不做过多讲解,避免文章太冗长。一、speech包的源码结构speech源码路径:/frameworks/base/core/java/android/speech先来看一下speech包的源码结构:这里面,比较关键的有:TextToSpeech、TextToSpeech...

2020-04-22 15:31:41

百度 Asr集成

1、上篇我们讲解了如何调用android系统提供的接口实现Asr功能,本篇我们讲解如何集成Asr引擎,这里我们以集成百度Asr为例讲解。2、百度Ai官网https://ai.baidu.com/下载SDK包,解压后里面也有相关的开发文档。将libs中文件和res中的文件复制到项目工程对应的文件夹,如下图在AndroidManifest.xml文件中添加appId,权限等信息3、接...

2020-04-20 17:37:43

Android So加载的路径选择

我们在Android应用程序会常常的加载一些So文件来完成我们的目标,那么我们的APK加载So是有哪些平时我们没有注意到的事情呢?首先我们一般开发会遇见两种APK(其实一般大部分只会遇到一种),一种为系统级APK,另外一种为普通APK。那么这个两种APK跟So加载有什么关系呢?别急,让我们先聊聊我们那些操作会产生这些类型的APK。普通级AKP:pm install + 包名将会把APK安...

2020-04-17 17:23:58

Android SDK之ASR源码及流程分析

ASR全称是Automatic Speech Recognition,是自动语音识别,将人说出来的化自动识别成文本。本文将从ASR的简单demo使用,对Android SDK里涉及的语音识别进行源码分析涉及的Android SDK 核心源码路径如下:android.speech.SpeechRecognizer android.speech.RecognitionListener an...

2020-04-17 15:06:08

Android Asr流程分析和调用实现

ASR全称是Automatic Speech Recognition,是自动语音识别,将人说出来的化自动识别成文本。本文我们将简单快速的熟悉Android asr流程和外部调用原理。在此先直接说明Android Asr流程原理,以便更容易理解后面的调用流程:Android Asr只是定义了语音识别的接口,具体的引擎需要各个厂商单独定义,也就是说Android Asr只提供外部调用的接口,至...

2020-04-17 14:26:30

彻底明确Android中AIDL及其使用

1、为什么要有AIDL?不管学什么东西,最先得弄明确为什么要有这个东西。不要说存在即是合理。存在肯定合理,可是你还是没有明确。对于AIDL有一些人的浅显概念就是,AIDL能够跨进程訪问其它应用程序,和其它应用程序通讯,那我告诉你。非常多技术都能够訪问,如广播(应用A在AndroidManifest.xml中注冊指定Action的广播)应用B发送指定Action的广播,A就能收到信息,这样也能看...

2020-04-14 10:27:55

Android中UI线程与后台线程交互设计的5种方法

android提供了以下几种方法,用于实现后台线程与UI线程的交互。1、handler2、Activity.runOnUIThread(Runnable)3、View.Post(Runnable)4、View.PostDelayed(Runnabe,long)5、AsyncTask方法一:handlerhandler是android中专门用来在线程之间传递信息类的工具。要讲明han...

2020-04-13 19:51:33

Android中UI线程与后台线程交互设计的5种方法

我想关于这个话题已经有很多前辈讨论过了。今天算是一次学习总结吧。在android的设计思想中,为了确保用户顺滑的操作体验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。就出现了上面所说的情况。原本这是在正常不过的现...

2020-04-13 19:41:40

Android项目目录结构res和assests目录的不同

Android项目目录结构res和assests目录的不同:是否在R.java文件中被注册;(res的注册,assests不注册)res所放的文件类型是规定好的;而assests目录下放置的文件类型不限制;访问方法不同。res中文件使用R.内部静态类.id来访问;而assest中的文件通过IO流来访问。...

2020-04-13 16:54:13

android res目录

我们建好一个Android 的项目后,默认的res下面 有drawable、layout、values等目录1.drawable目录相关启开一个新的Android专案后在res资料夹内会有drawable-hdpidrawable-mdpidrawable-ldpidrawable-xhdpidrawable-xxhdpi三个目录,所定义的dpi皆不同一般來說,ldpi是120,...

2020-04-13 16:39:23

AIDL详解

一、概述AIDL意思即Android Interface Definition Language,翻过来就是Android接口定义语言,是用于定义服务端和客户端通信接口的一种描述语言,可以拿来生产IPC代码,从某种意义上说AIDL其实就是一个模板,因为在使用过程中,实际起作用的并不是AIDL文件,而是据此生产的一个Interface的实例代码,AIDL其实是为了避免我们重复写代码而出现的一个模...

2020-04-13 15:23:07

Android中Bundle

Bundle经常使用在Activity之间或者线程间传递数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable或Parcelable接口。Bundle提供了各种常用类型的putXxx()/getXxx()方法,用于读写基本...

2020-04-13 11:20:28

简单快速处理网络请求超时的方法

最近在调试联网操作的时候碰到网络请求超时的问题,以下是简单快速处理网络超时的方法:使用android提供的工具类AsyncTask类,此类提供了一个AsyncTask.execute().get(timeout, unit);方法用于处理用户的请求超时的操作,可以设置请求超时的时间(timeout)以及请求时间的单位(unit)。例如:设置超时时间为2秒,单位为毫秒try {AsyncTa...

2020-04-13 09:35:12

检查接口是否用于主线程

如果接口需要执行网络交互或者其他耗时操作,则需要检查调用者是否将接口使用在主线程,该方法可以进行检测。private void ensureNotOnMainThread() {Looper var1 = Looper.myLooper();if (var1 == Looper.getMainLooper()) {IllegalStateException var2 = new Illeg...

2020-04-13 09:33:43

Android退出应用程序方法总结

finish方法finish();该方法只是结束当前Activity,系统将最上面的Activity移出了栈,并没有清理占用的资源。如果栈内有很多Activity 的话,使用该方法显得有点捉襟见肘了,没办法一次移出全部Activity,并且没有立即释放内存,活动的资源也没有被清理。进程式(1)KillProcess():可以杀死当前应用活动的进程,这一操作将会把所有该进程内的资源...

2020-04-13 09:32:29

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。