Android开发成长之路
文章平均质量分 89
努力学习,快乐分享!
CrazyCodeBoy
将来的我们会感谢现在努力奋斗的自己!
展开
-
一个功能强大的Flutter开源聊天列表插件
flutter_im_list是一款高性能、轻量级的Flutter聊天列表插件。可以帮助你快速创建出类微信的聊天列表的效果。原创 2023-10-22 20:33:32 · 932 阅读 · 0 评论 -
带你走进Flutter 3.7
全局文本选择、Impeller 渲染速度、DevTools,为开发者们带来一个更好用的 Flutter 3.7!原创 2023-04-10 00:47:37 · 557 阅读 · 0 评论 -
Flutter2重磅发布支持Web和桌面应用
目录Flutter 2的发布Flutter 2的背后Flutter 2对Web的支持Flutter 2对PC、可折叠以及嵌入式设备的支持不断发展的Flutter生态系统空安全Flutter 2概述谷歌在今日召开的一场线上活动中正式宣布了Flutter 2的发布。作为一款用于构建跨平台APP的框架,Flutter今天正式迎来了它的的第二个大版本,增加了对桌面和Web 应用程序的支持。开发者可借助 Flutter2打造开箱即用的APP,并且能够为 iOS、Android、Windows、m原创 2021-03-04 21:25:13 · 2024 阅读 · 1 评论 -
给Android开发者Flutter上手指南
目录LinearLayout 在Flutter中等价于什么(Android)?RelativeLayout 在Flutter中等价于什么(Android)?如何使用widget定义布局属性?如何分层布局?如何设置布局样式?ScrollView在Flutter中等价于什么?谁是Flutter的列表组件?如何知道点击了列表中哪个item?如何动态更新ListView?LinearLayout 在Flutter中等价于什么(Android)?在Android中,使用LinearLayo.原创 2021-02-27 18:03:41 · 479 阅读 · 1 评论 -
Android Studio优化之启用Shift+Ctrl+O导入所有的包
在使用Eclipse开发Android应用时,开发者往往会使用Shift+Ctrl+O快捷键来快速导入所有的包,和移除已经导入但还未使用的包。但这个快捷键在Android Studio没人是给有开启的,下面就和大家分享在Android Studio下使用Shift+Ctrl+O快捷键的解决方案:依次打开:File -> Settings -> Editor -> Auto Import原创 2015-02-17 18:11:47 · 5048 阅读 · 0 评论 -
Android代码混淆之混淆规则
因为Android是使用Java开发的,所以开发者可以使用ProGuard对代码进行混淆。SDK已经集成了ProGuard工具,开发者可以从SDK目录下的\tools\proguard目录中进行查看。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未原创 2015-02-18 14:51:44 · 51151 阅读 · 13 评论 -
Android代码混淆指南
本文将和大家分享使用Eclipse+ADT与使用Android Studio进行代码混淆打包的方法。使用Eclipse+ADT进行代码混淆打包的方法新版本SDK下进行打包混淆 如果使用新版本的SDK创建的Android项目会在项目的根目录下生成一个proguard-project.txt文件,该文件原创 2015-02-18 14:52:12 · 30145 阅读 · 0 评论 -
【Android UI设计】之自定义计时器
本博文所分享项目已开源,大家可以在https://github.com/crazycodeboy/DigitalTimer上下载DigitalTimer简介在样式上DigitalTimer支持自定义文字背景,大小,颜色的自定义。在功能上DigitalTimer支持启动计时,计时暂停等功能。运行效果图XML AttributesAttrib原创 2015-03-26 19:40:59 · 3504 阅读 · 0 评论 -
【Android语音合成TTS】国内主流引擎对比
PS.TTS即TextToSpeech(从文本到语言),也就是语音合成。TTS把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。纵观整个应用市场会发现越来越多的APP含有语音识别语音合成的功能,TTS可以帮助开发者轻松构建各类语音交互应用原创 2015-04-15 04:37:11 · 18957 阅读 · 0 评论 -
【Android语音合成TTS】云知声离线TTS使用详解
PS.云知声是2012年创立的,虽然只有1年多的发展历程,但其语音识别技术核心团队已经从业十余年,积累颇丰,这也是为什么能够短短一年时间能够在语音识别领域内做得风生水起的缘故。微语音插件、搜狗语音助手、乐视超级电视、老罗锤子操作系统、触宝输入法,还有网易+电信推出的的易信,用的是云知声的语音识别。2013年,云知声在资本市场的认可度非常高,极受追捧。目前云知声提供免费的离线TTS,但A原创 2015-04-15 04:27:44 · 17189 阅读 · 7 评论 -
Android耳机线控详解,蓝牙耳机按钮监听(仿酷狗线控效果)
Android耳机线控详解,蓝牙耳机按钮监听(仿酷狗线控效果)当耳机的媒体按键被单击后,Android系统会发出一个广播,该广播的携带者一个Action名为MEDIA_BUTTON的Intent。监听该广播便可以获取手机的耳机媒体按键的单击事件。在Android中有个AudioManager类,该类会维护MEDIA_BUTTON广播的分发,所以要实现耳机按键监听需要向AudioManage原创 2015-06-11 20:19:50 · 10124 阅读 · 2 评论 -
Android开发之反编译与防止反编译
防止反编译是每个程序员的必修课,因为当你辛辛苦的研发一个应用,被人家三下五除二给反编译了,是一件多么尴尬的事啊。那么如何防止反编译啊?这里就用Google Android自带的代码混编的方式来防止反编译。孙子兵法中讲得好:“知彼知己百战不殆”,所以在讲解防止反编译之前,先让我们了解一下如何反编译一个应用。原创 2014-09-10 22:17:50 · 12519 阅读 · 4 评论 -
Android网络编程之使用HTTP访问网络资源
前面介绍了 URLConnection己经可以非常方便地与指定站点交换信息,URLConnection还有一个子类:HttpURLConnection,HttpURLConnection 在 LIRLConnection的基础上做了进一步改进,增加了一些用于操作http资源的便捷方法原创 2014-08-29 08:27:00 · 7228 阅读 · 2 评论 -
Android开发之使用URL访问网络资源
URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更复杂的对象的引用,例如对数据库或搜索引擎的查询。通常情况而言,URL可以由协议名、主机、端口和资源组成。即满足如下格式:原创 2014-08-26 20:05:55 · 13570 阅读 · 1 评论 -
Android开发之简单的聊天室(客户端与服务器进行通信)
Java中能接收其他通信实体连接请求的类是ServerSocket, ServerSocket对象用于监听来 自客户端的Socket连接,如果没有连接,它将一直处于等待状态。ServerSocket包含一个监听来自客户端连接请求的方法。原创 2014-08-25 23:21:27 · 18464 阅读 · 3 评论 -
Android开发之控制摄像头拍照
现在的手机一般都会提供相机功能,有些相机的镜头甚至支持1300万以上像素,有些甚至支持独立对焦、光学变焦这些只有单反才有的功能,甚至有些手机直接宣传可以拍到星星。可以说手机已经变成了专业数码相机。为了充分利用手机上的相机功能, Android系统提供了Camera类来控制相机拍照。现在就让我们看一下如果使用Camera类来控制手机拍照。原创 2014-08-20 17:38:22 · 7911 阅读 · 2 评论 -
Android开发之使用MediaRecorder录制视频
MediaRecorder除了可以用于录制音频,还可用于录制视频。使用MediaRecorder录制视频与录制音频的步骤基本相同。只是录制视频时不仅需要采集声音,还需要采集图像。为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置图像来源。原创 2014-08-14 20:20:35 · 19614 阅读 · 7 评论 -
Android开发之使用MediaRecorder录制声音
为了在 Android 应用中录制声音,Android提供了 MediaRecorder 类,关于MediaRecorder的详解大家可以参考《Android开发之MediaRecorder类详解》。使用MediaRecorder录制声音的步骤:1) 创建 MediaRecorder 对象。2) 调用MediaRecorder对象的setAudioSource()方法设置声音来源,原创 2014-08-14 20:20:21 · 10643 阅读 · 2 评论 -
Android开发之MediaRecorder类详解
手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了。为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类。该类的使用也非常简单,下面让我们来了解一下这个类:原创 2014-08-14 20:23:47 · 27721 阅读 · 0 评论 -
Android开发之SoundPool使用详解
如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:原创 2014-08-11 23:48:11 · 11506 阅读 · 0 评论 -
Android开发之MdiaPlayer详解
MediaPlayer类可用于控制音频/视频文件或流的播放,我曾在《Android开发之基于Service的音乐播放器》一文中介绍过它的使用。下面让我们看一下MediaPlayer类的详细介绍。原创 2014-08-11 14:58:54 · 6909 阅读 · 1 评论 -
Android开发之对话框高级应用
创建并显示一个对话框很简单,但是如果想进行一些更高级点的操作,就需要一些技巧了。下面将和大家分享一下对话框使用的一些高级技巧。原创 2014-08-10 17:32:55 · 2311 阅读 · 0 评论 -
Android开发之TextView高级应用
我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此。下面就和大家分享一下TextView的一些使用技巧。原创 2014-08-10 16:14:05 · 5559 阅读 · 2 评论 -
Android开发四大组件之Service(详解篇)
Service是android系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,区别是Service只能运行在后台不提供用户界面,并且可以和其他组件进行交互。一个Service是一个可以长期运行在后台的应用程序组件,不提供用户界面。 另一个应用程序组件可以启动一个服务,它将继续在后台运行,即使 用户切换到另一个应用程序。 此外,一个组件可以绑定到一个服务 与之交互,甚至执行进程间通信(IPC)。 例原创 2014-07-21 11:00:42 · 8788 阅读 · 2 评论 -
Android开发之接收系统广播消息
BroadcastReceiver除了接收用户所发送的广播消息之外,还有一个重要的用途:接收系统广播。如果应用需要在系统特定时刻执行某些操作,就可以通过监听系统广播来实现。Android的大量系统事件都会对外发送标准广播。原创 2014-08-08 15:01:50 · 11037 阅读 · 0 评论 -
Android开发之基于Service的音乐播放器
这是一个基于Service组件的音乐播放器,程序的音乐将会由后台的Service组件负责播放,当后台的播放状态改变时,程序将会通过发送广播通知前台Activity更新界面;当用户单击前台Activity的界面按钮或拖动进度条时,系统通过发送广播通知后台Service来改变播放状态和播放指定音乐。原创 2014-08-07 15:25:05 · 5643 阅读 · 2 评论 -
Android 访问权限清单
Android权限大全原创 2014-07-31 09:49:13 · 3703 阅读 · 0 评论 -
Android开发之assets目录下资源使用总结
因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们。那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/res和被绑定在apk里,并不会解压到/data/data/YourApp目录下去,所以我们无法直接获取到assets的绝对路径,因为它们根本就没有。还好Android系统为我们提供了一个AssetManager工具类。 查看官方API可知,AssetManager原创 2014-08-03 18:42:56 · 126382 阅读 · 10 评论 -
Android开发之WebView详解
默认情况下,WebView不提供类似浏览器的窗口小部件,不启用JavaScript和网页错误被忽略。如果你的目的只是显示一些HTML作为用户界面的一部分,这也许还不错;用户将不再需要与网页进行交互阅读,并且该网页将不需要与用户进行交互。如果你需要一个全面的Web浏览器,那么你可能要调用浏览器应用程序来加载URL,而不是用WebView中显示它。原创 2014-08-01 00:28:06 · 12806 阅读 · 6 评论