40个Android开源项目
- 格式:docx
- 大小:1.31 MB
- 文档页数:27
Android应用案例开发大全Android应用案例开发大全1. 社交媒体应用:例如Facebook、Instagram、微信等,可以开发一个类似的社交媒体应用,用户可以注册、登录、发布动态、添加好友等。
2. 聊天应用:例如WhatsApp、微信等,可以开发一个聊天应用,用户可以发送文字、图片、语音消息,还可以创建群组进行多人聊天。
3. 音乐播放器应用:可以开发一个音乐播放器应用,用户可以搜索、播放和下载音乐,还可以创建自己的播放列表。
4. 视频播放器应用:可以开发一个视频播放器应用,用户可以搜索、播放和下载视频,还可以创建自己的观看记录。
5. 新闻阅读应用:可以开发一个新闻阅读应用,用户可以浏览最新的新闻、订阅感兴趣的新闻分类,还可以评论和分享新闻。
6. 地图导航应用:可以开发一个地图导航应用,用户可以搜索地点、实时导航到目的地,还可以查看附近的餐馆、酒店等。
7. 天气预报应用:可以开发一个天气预报应用,用户可以查看当前天气情况、未来几天的天气预报,还可以设置城市收藏。
8. 健身计划应用:可以开发一个健身计划应用,用户可以选择适合自己的健身计划,记录每天的运动情况,并查看个人统计数据。
9. 购物应用:例如淘宝、京东等,可以开发一个购物应用,用户可以浏览商品、下单购买、查看订单状态等。
10. 美食分享应用:可以开发一个美食分享应用,用户可以发布自己制作的美食照片和菜谱,还可以浏览其他用户的分享。
11. 摄影美化应用:可以开发一个摄影美化应用,用户可以拍摄照片后进行美化处理,还可以添加滤镜、调整曝光等参数。
12. 日程管理应用:可以开发一个日程管理应用,用户可以创建、编辑和删除日程,设置提醒等功能。
13. 教育学习应用:可以开发一个教育学习应用,用户可以浏览课程、参加在线考试,还可以浏览学习资料。
14. 旅游导览应用:可以开发一个旅游导览应用,用户可以浏览目的地的介绍、景点推荐,还可以查看附近的餐馆、酒店等。
让Android开发变⾼效的30款必备⼯具,不会⽤就out了2017-11-22 11:26 Android/程序设计⼯作⾼效是为了腾出更多个⼈时间。
在android开发中,还真有些⼈⽓⼩⼯具,能帮你快速解决问题,提⾼开发效率。
VysorVysor 是⼀个可以将⼿机的屏幕投影到电脑上,当然也可以操作,当我们做分享或者演⽰的时候,这个⼯具起到了作⽤。
Vector AssetStethoStetho 是⼀个Android 开发调试⼩⼯具,它可以让你使⽤Chrome Develop Tools 来可以来查看Sqlite 数据库和SharePreferences,⽽且可以查看⽹络连接的数据。
在Chrome 输⼊框输⼊chrome://inspect,点击inspect 就可以开始了。
如果使⽤OkHttp 需要添加拦截器StethoInterceptor。
OctoTreeOctoTree 是⼀个浏览器插件,它可以让你在Github 看代码时,左边栏会出现⼀个树状结构,就像我们在IDE ⼀样。
当我们看⼀个项⽬的结构,或者想看具体的某个⽂件,这样就会很⽅便。
Chrome ADBChrome ADB 是⼀个使⽤Chrome 来调试Android 的⼩⼯具,它除了提供了安装,卸载,清理数据的基本功能,⽽且还提供了主页,返回,锁屏的虚拟键功能,也可以看各个应⽤占⽤的内存(不得不点名批评⼀下微信,关闭都还占⽤100M 内存,不知道你要⼲嘛)。
它还有Android 的App,两者交互⼀定更有意思。
TinyPngTinyPng 是⼀个图⽚压缩⼯具,可能有些⼈感觉这个⼯具应该给设计师使⽤,我觉得也是。
不过有些时候,设计师给你出了个1920* 1080 的启动页,⼀张图⽚,1M 左右,我也是泪奔了,感觉设计师说话的时间,估计我们都压缩完了,⾃⼰动⼿,丰⾐⾜⾷。
⽽且它还提供了API,对不同语⾔都还有提供了插件,⽐如Java 就提供了Maven 的⽀持。
Android开源项目,精心整理的第一波儿(福利)
2017年第一推
本篇为2017年的第一篇干货,精心整理了善于分享的Android 技术大牛的开源项目,以供大家学习!
1,番茄周
番茄钟是针对短时间工作的任务定制,而番茄周旨在为您一周的每一天定制工作任务,这样每天有个小目标,每周一个大目标,日积月累,您会发现您的工作是如此地有效率!
2,仿茄子快传
仿茄子快传的一款文件传输应用,涉及到Socket通信,包括TCP,UDP通信。
3,MaterialHome
一款基于 Material Design 的图书展示类 app。
4,likequanmintv
基于MVP的Retrofit2(okhttp3)+rxjava+dagger2+greendao+glide+rtmp直播。
该项目系仿全民TV。
5,KnowWeather
一款漂亮的 Android 天气 App。
6,StylishMusicPlayer
A stylish music player for android device 16+
7,banya
瓣呀,一个非官方的豆瓣app。
8,AndroidFire
一款新闻阅读App框架,基于Material Design + MVP + RxJava + Retrofit + Glide,基本涵盖了当前 Android 端开发最常用的主流框架,基于此框架可以快速开发一个app。
9,TasteNews
MVP架构的新闻类应用。
10,FreeBook
基于MVP模式开发的带缓存网络爬虫,采用最流行框架搭建。
code小生:。
自己收藏的几十个开源项目(28G设计资料),适用于毕业设计自己收藏的几十个开源项目(28G设计资料),适用于毕业设计自己近几年收集的开源项目,包含了热门开源项目(包含小四轴、智能手环、光立方、智能车、防丢器等项目),STM32开源项目(含大赛作品、毕业设计、国外项目、创客项目等),设计资料不少于28G,所有资料和代码均从网上获得,请大家珍惜收集成果。
热门开源项目(包含小四轴、智能手环、光立方、智能车、防丢器等项目)号外!号外!(搞四轴,有这套就足够了!)科研级别的小四轴STM32F4芯片支持WIFI且android手机控制自适应控制就是牛掰!该飞机面向有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的,主要设计思想是提供一个高性能的控制和姿态算法验证平台,因此牺牲了许多“玩”的性能,却大幅的提高了通信和运算的能力。
该机可以承载很大的通信数据量,通信部分我已经做了多线程时线程安全的考虑,可以随意的printf给上位机,完全不用自己考虑线程安全和数据胡乱穿插的问题(还没测试过最大能承载多大的数据量,但是实时发送存储飞控数据已经足够了)。
最关键的是中央最优越的地理位置被一颗螺丝孔霸占了……这是做控制算法的人所必须的,连接万向节测试控制效果。
上下位机软件的开发遵循“最简,方便修改”的原则,实现了大多数的功能,但是没有把程序写到“很大很复杂”,这样使用我程序的小伙伴们就可以非常方便的找到核心代码并按照自己的需求进行更改。
(开源)百度智能运动手环(软硬件设计+源代码+手机APP+通讯协议等)智能运动手环是可穿戴设备的一个主要发展方向,国内外均有产品面世。
其使用方式为腕部佩戴(可以有其它变种佩戴形式),基本功能为运动记录、睡眠质量检测、时间显示和静音闹钟、与智能手机的配合产生的实用功能(如来电提醒、手机防丢、一键拍照和解锁等)。
分享蓝牙4.0防丢器源码+原理图+PCB源文件+视频讲解该蓝牙4.0 防丢器基于GB2540模块设计。
180+个Python开源项目,涉及15个主题应用本文作者收集了180+个Python 开源项目,涉及Internet、Games、Graphics 等15个主题应用,希望这里能有你正好需要的项目,帮你节省宝贵时间。
每一位程序员,每天大部分时间都是在和代码打交道。
但是对于广大的普通用户来说,最重要的不是代码,而是代码最终生成的应用程序。
但是,每个项目都从头开始自己一行一行码代码,是非常不现实的事情。
所以,开源项目就是我们在实践过程中最宝贵的资源。
今天为大家整理的这份清单,作者一共收集了180 多个Python 开源项目,涉及Internet、Games、Graphics、Communication、Satatic Site 及Dev 等15 个不同的主题应用,下面就一起来看看有没有一个你中意的,开始码起来~互联网(9)Reddit,很多小伙伴应该都会Reddit 不陌生。
一个社交新闻论坛,有投票、评论等功能。
Planet,一个RSS 和Atom feed 的聚合器,收集社区成员的博客帖子并显示在页面上。
Deluge 是一个流行、轻量级、跨平台的BitTorrent 客户端。
Qute Browser 基于PyQt5 的键盘驱动、最小、类似vim 的浏览器。
youtube-dl 命令行程序,不用在浏览器中就可以从YouTube 和其他数百个网站上存档视频和音频。
You-Get 命令行程序,不用在浏览器中就可以从网页上爬取流视频、音频和图像。
SABnzbd 一个简单,跨平台的新闻阅读器,可以从Usenet 下载,支持多种集成和16 中语言。
音频(9)MusicBrainz Picard 可以自动识别、标记和组织音乐专辑或其他数字音频录音。
SoundConverter 是一个基于GNOME 的音频文件转码器。
GNU Radio 是一个软件开发工具包,可以提供信号处理模块以实现软件定义的无线电和信号处理系统。
分享45个android实例源码,很好很强大/android-20978-1-1.htmlandriod闹钟源代码/android-20974-1-1.htmlandroid源码分享之指南针程序/android-20973-1-1.html重力感应的测试程序andriod源代码/android-20972-1-1.htmlandroid源码分享之时光日志个人日程管理/android-20969-1-1.htmlOpenGL的一个简单的例子/android-20968-1-1.html文件管理器-android源代码/android-20960-1-1.htmlAndroid Txt文本阅读器源码/android-20959-1-1.htmlAndroid远程登录含有loading登录效果~~完整代码和超级详细注释/android-20958-1-1.htmlAndroid 手电筒源码/android-20957-1-1.htmlAndroid操作数据库实例/android-20954-1-1.htmlandroid 画图程序/android-20953-1-1.htmlAndroid 天气预报加widget源码/android-20950-1-1.htmlAndroid 指南针程序/android-20949-1-1.htmlAndroid 个人记账程序源码Android游戏的心跳效果/android-20939-1-1.htmlAndroid PDF 阅读器源码/android-20858-1-1.htmlAndroid SqliteManager 源码/android-20857-1-1.htmlandroid 多点触控实例源码/android-20856-1-1.htmlAndroid 条码扫描程序源码/android-20855-1-1.htmlEditText插入QQ表情源码/android-20854-1-1.htmlAsyncTask进度条加载网站数据到ListView /android-20834-1-1.htmlandroid连接SQLite数据库-----增加改查+分页/android-20833-1-1.htmlAndroid 一个批量删除联系人的Demo/android-20832-1-1.htmlTXT 文本阅读器源码(android源码分享)/android-20827-1-1.htmlandroid 查询工具源代码/android-20824-1-1.htmlandroid进度条对话框Demo/android-20823-1-1.htmlAndroid实现渐显按钮的左右滑动效果/android-20752-1-1.html android天气预报源码Android 文件浏览器源码/android-20976-1-1.htmlandroid源码分享之私密通讯录源码/android-20975-1-1.htmlAndroid自定义泡泡效果源码/android-20956-1-1.htmlandroid 获取Gps信息的程序源码/android-20955-1-1.htmlandroid 超炫的图片浏览器/android-20952-1-1.htmlandroid 加载时闪烁点样式的启动画面/android-20951-1-1.html实现基于Android的英文电子词典/android-20948-1-1.html基于Android 的英文电子词典/android-20947-1-1.htmlandroid 源码之英语单词记忆程序源码/android-20936-1-1.htmlandorid 源码北京公交线路查询(离线)/android-20938-1-1.htmlAndroid 计算器源码/android-20935-1-1.html带文字的ProgressBar Demo源码/android-20831-1-1.htmlandroid自定义时钟(三种方法实现,秒针效果,详细注解)/android-20830-1-1.htmlAndroid 秒表源码分享/android-20829-1-1.htmlAndroid源代码定时情景模式切换/android-20828-1-1.htmlandroid 公交查询/android-20826-1-1.htmlandroid源码分享之带手势划动功能的日历源码/android-20825-1-1.html。
20个很棒的android开源项目帮助你提升开发技能作者:Jack-sen英文地址:/20-awesome-open-source-android-apps-to-boost-your-development-skills-b62832cf0fa4#.6tvdigg3q地址:/crazy1235/article/details/56087721对程序员来说,最好的学习也是阅读,多看别人优秀的代码,加以总结学习应用。
如果你想成为一个更好的开发者,就必须阅读大量的代码。
书本,博客,论坛在一定程度上都是比较好的,但是比不上一些功能完整详细的开源项目。
所以你要做的就是喝着咖啡看代码。
O(∩_∩)O哈哈~下面列出来一些比较好的开源项目,每个项目都标注有难易程度。
希望可以帮到你~LeafPic(Github | Play Store | Difficulty: 初级)https:///HoraApps/LeafPichttps:///store/apps/details?id=org.horaapp s.leafpic照片墙类的app是比较常见的。
你是否有想过它们是如何开发的呢?LeafPic就是一个比较好的开源照片墙类的APP。
这个项目较简单,容易上手,比较适合初级选手。
值得一提的是它包含了切换主题这一功能。
Simple Calendar(Github | Play Store | Difficulty: 初级)https:///SimpleMobileTools/Simple-Calendarhttps:///store/apps/details?id=com.simple mobiletools.calendar这是一款用Kotlin语言编写的日历app。
如果你想学Kotlin,这个开源项目绝对能帮到你。
该项目还可以帮助你学习到添加桌面小工具。
Amaze File Manager(Github | Play Store | Difficulty: 中级)https:///arpitkh96/AmazeFileManagerhttps:///store/apps/details?id=com.amaze.f ilemanager文件管理类的app也是一类比较常见的应用。
Android优秀开源项⽬汇总Android 优秀开源项⽬汇总收集总结 Android 项⽬中值得推荐的优秀开源项⽬,将收集到的开源项⽬分类汇总到表格中,并在后⾯对项⽬进⾏介绍。
表格中的数据会定期进⾏更新,希望⼤家能遇到⾃⼰喜欢的优秀项⽬,学习或者使⽤。
同时,也欢迎⼤家对不⾜之处进⾏指正和改进,欢迎⼤家提供更有帮助的开源项⽬和其他信息。
有那么多漂亮好⽤的轮⼦,总是忍不住好好地总结分类收藏⼀番。
⽽收藏,当然是为了在可能需要的时候能够迅速果断地找到⼀个合适我们项⽬的轮⼦。
分类⼆级分类框架名称简介Star 数最近更新UI Loading智能下拉刷新框架21k25天UI Loading⽐较早的⼀款下拉刷新框架8.8k7年UI Loading下拉刷新框架9.7k4年UI Loading众多优秀的下拉刷新汇总 2.2k4年UI Loading加载反馈页管理框架 2.3k3⽉UI Loading简单的 Loading 控件 2.5k10⽉UI图表统计图表库31k1⽉UI图表统计图表库7k2年UI图表⾃动⽣成表格框架 4.1k2年UI图表绘制表格 2.6k3⽉UI图表RecyclerView 实现的⼆维表格 2.3k7⽉UI菜单⽐较早的⼀款侧滑菜单11k6年UI菜单侧滑菜单11k1天UI菜单类似QQ侧滑菜单6k2年UI菜单酷炫的弹出式菜单 5.6k2年UI⽇历⾼度⾃定义、⽀持周视图的⽇历控件 6.7k3⽉UI图⽚⼤图展⽰17k3⽉UI图⽚⼤图展⽰ 6.2k2⽉UI图⽚圆形图⽚13k4⽉UI图⽚图⽚剪裁10k2⽉UI图⽚Gif 加载8.4k2⽉UI图⽚图⽚\视频选择库11k8⽉UI⽂本富⽂本编辑器5k3年UI⽂本⽂本动画 2.1k4年UI弹窗可定制化的 Dialog API18k3⽉UI弹窗定制不⼀样的 Toast 5.9k12天UI弹窗Dialog ⼯具0.9k1年UI弹窗⼴告弹窗3k3年UI悬浮窗安卓任意界⾯悬浮窗 3.5k2年UI状态栏沉浸式状态栏和沉浸式导航栏管理8.5k10⽉UI导航ViewPager 指⽰器10k7年UI导航底部导航栏8.4k2年UI导航TabLayout 库9.9k3年UI导航ViewPager 指⽰器框架7.9k1⽉UI布局Android 弹性 / 流式布局16k14天UI布局屏幕适配布局 6.7k1年UI布局屏幕适配布局10k8天UI布局流式布局 5.4k2年UI布局整套布局⽅案和组件复⽤10k2⽉UI布局Android 通⽤圆⾓布局 1.9k1年UI滑动删除滑动删除12k3年UI滚动监听可滚动 View 的滚动事件9.5k4年UI列表功能强⼤的 RecyclerView7.2k2天UI选择器仿 iOS 的选择控件12k9⽉UI 选择器安卓选择器类库4.9k 11⽉UI 下拉菜单多条件筛选菜单 3.5k 3年UI 轮播图⼴告图⽚轮播控件10k 3天UI 轮播图通⽤的⼴告栏控件 4.7k 1年UI WebView ⾼度封装的 WebView7.3k 4⽉UI ⾼斯模糊⾼斯模糊控件 2.6k 3⽉UI ⾼斯模糊⾼斯模糊控件 3.2k 1年UI ⾓标⾓标 / 徽章3k 7年UI ⾓标徽章控件2.4k 2年UI Path 绘制路径或 SVG ,可设置动画2.8k 2年UI Path Android 路径绘制2k 5⽉UI 其他上拉⾯板9k 2年UI 其他欢迎页9.3k 20天UI 其他UI 框架7.1k 3年UI 其他表情⽂本 3.6k 1年UI 其他⽔波纹效果 4.9k 4年UI 其他ViewPager 5.6k 2年UI 其他酷炫的加载动画 3.9k 3年UI 其他提⾼ UI 开发效率的 UI 库12k 15天UI 其他折叠控件 4.7k 3⽉⽹络框架⽹络框架36k 1⽉⽹络框架⽹络框架38k 7天⽹络框架⽹络框架 2.8k 1天⽹络框架WebSocket 框架7.1k 1天⽹络⽂件下载⽂件下载引擎9.7k 8⽉⽹络⽂件下载⽂件下载引擎 2.6k 3⽉⽹络⽂件下载⽂件下载引擎 3.7k 7⽉⽹络进度监听okhttp 上传下载进度监听2.3k 1年图⽚框架图⽚框架30k 2天图⽚框架图⽚框架17k 3⽉图⽚框架图⽚框架18k 2⽉图⽚框架图⽚框架16k 2天图⽚压缩最接近朋友圈的图⽚压缩算法12k 11⽉图⽚转换Glide 图像转换器8.8k 5⽉图⽚滤镜图像滤镜框架7.3k 11⽉图⽚选择器图⽚视频选择器11k 8⽉图⽚选择器图⽚选择 / 剪裁 / 压缩7k 2年图⽚选择器仿微信图⽚选择器 2.8k 7⽉图⽚⽂字识别Android 图⽚⽂字识别 3.5k 9⽉视频播放器节操视频播放器10k 7⽉视频播放器Bilibili 开源播放器27k 2年视频播放器多功能视频播放器15k 10天动画AE 展⽰ AE ⼯具所作动画的框架29k 29天动画转场安卓转场动画演⽰13k 2年动画View 安卓视图动画合集11k 1年动画View 安卓动画合集9.3k2年动画Loading 安卓 Loading 动画7.4k 11⽉动画多种多种动画效果 3.1k 4年动画列表RecyclerView 条⽬动画10k 4⽉动画列表列表视图展现动画 3.4k 5⽉动画粒⼦粒⼦动画效果 2.6k 3年动画爆炸爆裂动画效果3.5k 4年动画兼容Transitions API 的兼容补丁4.7k 3⽉异步链式事件驱动的基于异步数据流的编程模式43k 1天异步链式Android 中的 RxJava 绑定19k 2⽉异步链式⾕歌开发的安卓链式编程框架7.3k 2年数据库轻量级轻量级数据库11k4天分类⼆级分类框架名称简介Star 数最近更新数据库轻量级轻量级数据库11k4天数据库轻量级轻量级数据库12k 2⽉⽂件选择器图⽚ / ⽂件选择器 2.2k 1⽉json 解析⾕歌官⽅ Json 库18k 2⽉json 解析阿⾥巴巴 Json 库22k 1天git git git 的 java 使⽤版本0.9k 7天字体框架⾃定义字体库8.5k 2年换肤框架换肤框架 2.5k 3年换肤框架换肤框架4.8k 1⽉语⾔汉字处理中⽂分词 、关键词提取等20k 23天AI 深度学习TensorFlow Android Demo 147k 1天性能卡顿⾮侵⼊式性能监控组件5.7k 2年性能卡顿UI 卡顿检测2k 2年性能卡顿性能检测 1.5k 1年性能内存检查内存泄漏⼯具25k 23天性能检测Android App 性能检测⼯具 2.2k 2年性能检测微信研发的应⽤性能接⼊框架7.4k 8⽉性能⽣命周期使⽤ RxJava 管理⽣命周期7.5k 2⽉性能缓存硬盘缓存⼯具 5.4k 4年性能UI 框架⾼性能安卓 UI 的构建框架6.8k 1天热修复框架微信热修复框架15k 25天热修复框架阿⾥热修复框架 4.3k 4年插件化框架滴滴插件化框架8k 1年插件化框架360 插件化框架 6.4k 7⽉插件化框架Apk 动态加载框架 5.8k 3年插件化框架阿⾥插件化框架7.7k 1年插件化框架插件化框架 4.9k 2年插件化框架插件化⽅案 6.4k 1⽉组件化框架动态组件化框架7.7k 1年虚拟化虚拟化App 虚拟化引擎7k 15天虚拟化虚拟化⾮ROOT 环境下运⾏Xposed 模块的实现10k 12天⼯具⼯具类⾕歌核⼼ Java 类库38k 1天⼯具⼯具类安卓开发者不得不收集的代码27k 1⽉⼯具⼯具类不只是⼯具类的公共库5k 5⽉⼯具⼯具类通⽤ / 辅助 / ⼯具类的集合3.5k 3年⼯具⼯具类常⽤⼯具类整理 2.1k 11⽉⼯具列表RecyclerAdapter 框架20k 2⽉⼯具列表Android 万能的 Adapter4.5k 4年⼯具列表传送带效果列表 2.1k 2年⼯具列表流式布局列表 2.9k 3年⼯具状态栏设置状态栏的⼯具库8.4k 1年⼯具状态栏状态栏着⾊⼯具5.4k 6年通信事件Android 事件总线23k 5⽉通信路由辅助组件化改造的框架12k 1⽉键盘表情表情键盘解决⽅案 2.8k 3年键盘冲突解决键盘⾯板冲突3.9k 1年扫描⼆维码⼆维码扫描26k 1天注解框架快速开发框架11k 3⽉注解绑定为 Android View 设计的绑定注解25k 1⽉注解注⼊Android 依赖注⼊框架15k 1天权限请求基于注解处理权限请求10k 1天权限请求基于 RxJava 处理权限请求9.7k 11天权限请求权限管理 6.3k 2⽉响应式UI 安卓 UI 响应式编程9.5k 1⽉响应式事件事件总线框架5.2k 2年hybrid 框架Android 与 JavaScript 互调桥梁7.9k 8⽉hybrid 框架轻量级⾼性能的 hybrid 框架11k 1年hook框架运⾏时 AOP Hook 框架2.3k8⽉分类⼆级分类框架名称简介Star 数最近更新hook 框架运⾏时 AOP Hook 框架 2.3k 8⽉hook 框架⾮ROOT 环境下运⾏Xposed 模块的框架 3.4k 6⽉崩溃报告崩溃信息收集框架5.4k 1天崩溃处理崩溃处理3.1k 5⽉崩溃预防检测 NullPointerExceptions2.8k 8天框架MVP MVP 框架 5.4k 1年框架多主题Android 多主题框架3.4k 2年架构Clean ⼀种清晰的 Android 架构14k 1年架构Fragment 多 Fragment 架构的解决⽅案9.5k 8⽉构建⼯具快速构建⼯具7.5k 1天编译⼯具秒级编译⽅案 5.3k2⽉编译⼯具Java 动态编译 2.8k 10天混淆⼯具Android 资源混淆⼯具 6.9k 15天测试单元测试Android 单元测试框架5k 1天测试单元测试Android 单元测试框架11k 3天测试单元测试⾕歌的断⾔和命题框架 2.1k 1天调试框架Android 开发调试神器12k 9⽉调试⽇志简单实⽤漂亮的⽇志打印框架12k 2年调试数据库Android 数据库调试⼯具7.4k 3⽉调试⽅法⽅法调试⼯具7.4k 4年调试UI UE 调试⼯具 2.9k 2天调试⼯具调试⼯具箱 1.3k 4⽉反编译⼯具反编译 APK ⼯具10k 7天反编译⼯具APK 分析利器 6.4k 9⽉Demo Rxjava 学习 Android 中 Rxjava 7.2k 3年Demo Dagger Dagger ⾼级教学⽰例 APP 5.7k 2年Demo MVP Android 端 MVP 设计 APP 5.9k 1年Demo 框架Architecture Component 官⽅演⽰18k 1天Demo 测试集成四⼤⾃动化测试框架的 Demo7.5k 1⽉Demo 设计模式java 设计模式指南(英⽂59k 1天APP 仿造⾼仿哔哩哔哩动画安卓客户端 4.3k 7⽉APP 播放器⾕歌教科书级⾳乐播放器12k 1天APP 播放器⾕歌出品可扩展媒体播放器16k 24天APP 播放器⾳乐播放器 6.2k 1年APP 播放器开源⾳乐播放器2.3k 3年APP 相机安卓相机4.7k1年APP 相机安卓相机 API 使⽤ Demo 1.9k 29天APP 相机安卓 UVC 相机 1.8k 1年APP 新闻新闻阅读 App 框架 2.5k 11⽉APP 新闻涵盖最常⽤主流框架的阅读应⽤3.5k 2年APP 翻译咕咚翻译 APP 1.7k 2年APP MVP MVP 架构学习 App 2.3k 3年APP 教育⾕歌开源的⼉童教育和娱乐 App 2k 1年APP 壁纸定时更换桌⾯精美壁纸 App4.1k 1天APP 安全利⽤设备传感器进⾏监控和保护5.8k 7⽉APP ⼯具Android ⼿机抓包软件 3.2k 4⽉⾯试指南软件⼯程技术⾯试个⼈指南46k 1⽉⾯试题库国内⼀线互联⽹公司内部⾯试题库7.7k 2⽉学习汇总学习笔记12k 2年学习汇总GcsSloop 个⼈学习笔记7.9k 1年学习汇总Android 学习资料收集8.3k 2年学习汇总⼀系列 Android 进阶⽂章 2.2k 9天学习翻译定期翻译国外安卓优质⽂章10k 11⽉学习源码分析Android 开源项⽬源码解析 6.6k 1年学习动画Android 所有动画系列详尽教程 2.1k 1年学习设计Material Design 学习资料1.8k 9⽉学习RxJava RxJava 学习资源 4.8k 3年学习正则轻松学习正则36k19天分类⼆级分类框架名称简介Star 数最近更新学习正则轻松学习正则36k 19天学习算法学习数据结构和算法、刷 LeetCode7.6k 15天学习算法交互式算法学习31k 8⽉学习ADB ADB ⽤法⼤全7.3k 2⽉学习编程编程语⾔学习154k 6天学习设计系统设计⼊门102k 5天其他⼤全GitHub 上最⽕的 Android 开源项⽬10k 2年其他⼤全Java 框架、库与软件合集25k 4天其他⼤全Android 实⽤资源合集7.9k 7⽉其他⼤全Android 好⽤的 UI 合集38k 1年其他⼤全Material Design 资源合集 5.9k 4年其他⼤全Android 开源代码⼤全 6.5k 3⽉其他⼤全收集常⽤的 Android 代码 2.5k 2⽉其他⼤全Android 开源项⽬及库总结 2.8k 11⽉其他⼤全Android 开源项⽬分类汇总30k 5⽉其他⼤全⾕歌关于架构的⽰例合集37k 5⽉其他⼤全Java 学习+⾯试指南85k 1天其他⼤全Java 进阶知识完全扫盲46k 4天其他⼤全整理Android 开发所需的各种⼯具6.8k 1⽉其他交流Android 问题交流讨论坛4k 4年其他AS 插件AS 翻译插件6k 1天其他AS 插件AS Wifi ADB 插件 4.1k 1年其他API 公共 API 接⼝90k 1天开发⼯具APP Android 版 Github 9.5k 3⽉开发⼯具APP 查看当前栈顶 Activity0.6k 1年开发⼯具软件FQ 利器4.5k 15天开发⼯具APP 电池耗电情况分析⼯具 4.6k 3年开发⼯具软件显⽰和控制连接的安卓设备34k 16天开发⼯具APP Xposed 安装器3k 2年开发⼯具APP 系统修改12k 2天开发⼯具APP Magisk 管理器 1.1k 2年开发⼯具插件ART hook 框架3k 18天开发⼯具命令⾏命令⾏使⽤技巧摘要79k1年分类⼆级分类框架名称简介Star 数最近更新注:1. 『star 数』为该项⽬在 GitHub 中所获得的 start 数;2. 『最近更新』为该项⽬在 GitHub 中距离最近⼀次更新的时间;3. 『star 数』和『最近更新』是基于:2020-07-23 GitHub 项⽬数据进⾏参考。
android 视频聊天之二:开源sip 项目doubango ,android 平台编译——imsdroid2013/06/06 2509 支持视频的开源SIP 客户端不多,IMSDroid 看起来不错,准备研究下。
(另外还有SIPDroid 和linphone 了,SIPDroid 好像不支持视频,linphone怎么样?)。
有几个问题考虑:1) IMSDroid 的架构,哪些部分使用C/C 实现,及数据流?2) 编解码是否可以使用硬件编码器?3) 回声抑制问题?4) 网络传输NAT 问题?下载源码,源码目录下有个android-ngn-stack.pdf 文档介绍了软件的基本组成,一共有三层:1) IMSDroid: 客户端界面2)android-ngn-stack:对doubangovoip 框架的一个java 层封装。
android-ngn-stack 主要是为开发者在Android 平台上开发VoIP 应用提供软件栈(stack), 它为上层应用提供三种级别的接口:Low, Medium 和High。
Low 最灵活,但是调用最复杂。
android-ngn-stack 包含一个org.doubango.tinyWRAP 包,提供对底层doubangovoip的JNI 调用。
tinyWRAP.so 是对底层doubango 的封装。
3)doubangovoip:C/C (?)实现的VoIP 功能的库,包括以下库:[html]view plaincopytinySAK(SwissArmyKnife):Utilitiesfunctions(SHA-1,MD5,HMAC,String,List,Timers,Thread,Mutex,Semaphore,...)tinyNET:Networking(DN S,DHCPv4/v6,STUN,TURN,ICE,ENUM,Sockets,...)tinyHTTP:HTTPstack(CONNECT,D ELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE,...)tinyXCAP:XCAPstack(A UIDmanager,URLgenerator)withoutXMLparser(SeeJavacodeforparsers)tinyIPSec:IPSecS elessforAndroidbutyouMUSThaveittinySMS:SMSoverIP(SM-TL,SM-RL)forIMS/LTEnetworkstinySIGCOMP:SignalingCompressiontinySDP:SDPprotocoltiny。
├─地图相关Android bikeroute自行车导航源码.rar: /file/64335654Android Gps Test源码.rar: /file/64335659Android GpsTracker源码.rar: /file/64335662Android 百度地图API-定位周边搜索POI源码.rar: /file/64335668 Android 百度地图API源码.rar: /file/64335674北京公交线路查询(离线).rar: /file/64335677获取Gps信息的程序源码.rar: /file/64335680├─安全保密Android 人脸识别功能使用源码.rar: /file/64333523Android 图形解锁源码.rar: /file/64333555Android 图案解锁之九宫解锁源码.rar: /file/64333551Android 安全卫士源码.rar: /file/64333388Android 安全卫士源码.rar: /file/64333756Android 屏幕锁源码.rar: /file/64333390Android 手机防火墙源码(DroidWall).rar: /file/64333548 Android 网络监视器源码.rar: /file/64333557Android 远程视频监控程序源码.rar: /file/64333558││├─摄影图像Android 3D相册图片滑动+倾斜+放大+倒影处理源码.rar:/file/64337328Android Google官网的图片缓存源码.rar: /file/64337332 Android PhotoStore图片浏览器源码.rar: /file/64337337 Android 二维码识别源码.rar: /file/64337349Android 仿美图秀秀和IOS系统的相机胶卷.rar: /file/64337351 Android 区域截图源码.rar: /file/64337363Android 图片浏览功能源码.rar: /file/64337573Android 图片浏览源码.rar: /file/64337576Android 多种统计图表源码.rar: /file/64337346Android 常用图片特效处理源码.rar: /file/64337345Android 水果相册浏览器源码.rar: /file/64337567Android 炫酷相册源码.rar: /file/64337623Android 画图工具源码.rar: /file/64337358Android 画图程序源码.rar: /file/64337352ImageView控件缩放和旋转图片源码.rar: /file/64337628PC机摄像头摄像数据在Android手机上同步显示的源.rar:/file/64337630调用系统相册和系统照相机功能雨实例源码.rar: /file/64337632│├─生活相关Andriod 日程管理软件源码.rar: /file/64337611Android MyContacts通讯录源码.rar: /file/64337612Android UI界面漂亮的天气预报源码.rar: /file/64337633 Android 万年历源码.rar: /file/64337866Android 个人记账软件.rar: /file/64337651Android 事务提醒工具源码.rar: /file/64337777Android 仿Siri的中文语音助理源码.rar: /file/64337648 Android 体重计算源码.rar: /file/64337792Android 健康饮食搭配源码.rar: /file/64337669android 公交查询.rar: /file/64337656Android 北京地铁导航源码.rar: /file/64337636Android 医药助手源码.rar: /file/64337881Android 名片识别源码.rar: /file/64337756Android 城市天气预报源码.rar: /file/64337643Android 备忘录源码.rar: /file/64337639Android 天气预报加widget源码.rar: /file/64337804Android 天气预报源码.rar: /file/64337812Android 完整的通讯录项目源码.rar: /file/64337865Android 宿舍值日随机生成器.rar: /file/64337878Android 小米系统之便签源码.rar: /file/64337874Android 小钢琴源码.rar: /file/64337871Android 带手势划动功能的日历源码.rar: /file/64337644 Android 影院选坐源码.rar: /file/64337883Android 快捷查询源码.rar: /file/64337705Android 手机小闹钟源码.rar: /file/64337779Android 时光日志个人日程管理源码.rar: /file/64337774 Android 沈阳公交源码.rar: /file/64337766Android 生活手册源码.rar: /file/64337773Android 秒表倒计时源码.rar: /file/64337707Android 简单的机票预订系统源码.rar: /file/64337662 Android 简单计步器源码.rar: /file/64337663Android 精美愤怒的小闹钟源码.rar: /file/64337676Android 节日短信回复助手源码.rar: /file/64337675Android 蓝虫火车票余票查询源码.rar: /file/64337706 Android 记账本源码.rar: /file/64337658Android 超简单的电子购物程序.rar: /file/64337640Android 酒店预订系统源码.rar: /file/64337699Android 闪光灯手电筒软件源码.rar: /file/64337759Android 随手记记账应用源码.rar: /file/64337791android城市列表特效-触摸查找源码.rar: /file/64337887 android日记系统源码(数据库的基本操作).rar: /file/64337898 android查询软件源代码(身份证号,号码归属等).rar:/file/64337885ndroid 查询工具源代码.rar: /file/64337904ShareSDK超级强大的社会化分享(强大分享界面UI).rar:/file/64337913天气提醒程序源码.rar: /file/64337916手机归属地查询程序.rar: /file/64337915│├─聊天通讯Android SipDroid客户端源码.rar: /file/64337935Android SMSPopup速读短信源码.rar: /file/64337939Android TorProxy和Shadow开源项目.rar: /file/64337949 Android ViewPager+Fragment实现QQ界面.rar: /file/64337952 Android 仿QQ客户端及服务端源码.rar: /file/64337955 Android 仿飞鸽传书源码.rar: /file/64337961Android 公司通讯录(含来电号码姓名查询和搜索功能).rar:/file/64337963Android 完美高仿的微信源码.rar: /file/64337973Android 驴友社交系统源码.rar: /file/64337967Android简单通讯源码:手机控制PC的关机、重启、.rar:/file/64337985android蓝牙聊天的应用源码.rar: /file/64337993Imsdroid语音视频通话源码.rar: /file/64338014安卓程序源码之完美高仿微信源码.rar: /file/64338020│└─辅助类库Android 3D倒影效果源码.rar: /file/64336548Android Activity设置相同的action进行判断源码.rar:/file/64336550Android afinal开源框架实例源码.rar: /file/64336551Android Fireworks烟花效果源码.rar: /file/64336555Android fleep滑动切换tab(切换带动画).rar: /file/64336558 Android GridView拖拽实例源码.rar: /file/64336572Android ImageView图片循环跑马灯效果源码.rar: /file/64336573 Android ListView下拉刷新Demo.rar: /file/64336576Android ListView反弹效果源码.rar: /file/64336575Android OpenGL的一个简单的例子.rar: /file/64336577Android opengl绘制飘动的国旗效果源码.rar: /file/64336578 Android PathEffect效果实例源码.rar: /file/64336579Android ScrollableTabHost tab控件.rar: /file/64336580Android Spinner图文混排源码.rar: /file/64336581Android SwipeView类似桌面的滑动界面.rar: /file/64336585 Android TabHost内嵌ActivityGroup界面管理源码.rar:/file/64336588Android Tools4U源码.rar: /file/64336591Android ui开发类库示例源码.rar: /file/64336592Android WeatherForecast应用源码.rar: /file/64336594Android WebViewJS应用源码.rar: /file/64336595Android 三种圆形缓冲的进度条源码.rar: /file/64336771Android 下拉通知效果源码.rar: /file/64336824Android 不同形状的进度条源码.rar: /file/64336602Android 与php服务器交互实例源码.rar: /file/64336849 Android 仿360恶意广告拦截扫描UI效果源码.rar: /file/64336685 Android 仿微信二维码名片源码.rar: /file/64336733Android 仿快播搜索框上方悬浮的文字搜索源码.rar:/file/64336717Android 仿新版人人的效果源码.rar: /file/64336735Android 仿谷歌侧边栏导航源码.rar: /file/64336713Android 使用Gallery_tabhost实现标签效果图源码.rar:/file/64336777Android 使用opengl写动态壁纸的类库.rar: /file/64336779 Android 倒计时实现源码.rar: /file/64336617Android 吹一吹效果源码.rar: /file/64336615Android 图像冰冻特效源码.rar: /file/64336811Android 图像柔化美白特效源码.rar: /file/64336819Android 图像连环画特效源码.rar: /file/64336813Android 图表生成类库.rar: /file/64336809Android 多种android控件的Demo.rar: /file/64336660Android 实现QQ好友列表源码.rar: /file/64336772Android 屏幕颜色的变换源码.rar: /file/64336770Android 应用软件自动更新源码.rar: /file/64336847Android 拍照与录像切换UI源码.rar: /file/64336769Android 控件抖动效果源码.rar: /file/64336767Android 搜索关键字飞入飞出效果源码.rar: /file/64336794 Android 支付宝控件接口示例源码.rar: /file/64336851Android 显示GIF动画源码.rar: /file/64336827Android 模仿iphone时间滚轮控件源码.rar: /file/64336768 Android 水波效果源码.rar: /file/64336791Android 测试周围环境分贝的功能源码.rar: /file/64336603 Android 滑动翻页源码.rar: /file/64336756Android 点击屏幕更换图片源码.rar: /file/64336651Android 点按钮添加TableRow源码.rar: /file/64336622Android 烟花效果源码.rar: /file/64336833Android 焦点图片滚动源码.rar: /file/64336766Android 用户界面之重写onKeyDown方法源码.rar: /file/64336848 Android 登录界面记住密码功能源码.rar: /file/64336620Android 百度地图之自定义公交路线源码.rar: /file/64336601 Android 简单2D动画源码.rar: /file/64336765Android 网易新闻横向导航源码.rar: /file/64336822Android 自定义泡泡效果源码.rar: /file/64336856Android 视频浮动窗口源码.rar: /file/64336780Android 触摸屏幕产生小气泡的效果应用源码.rar: /file/64336613 Android 超炫的Path Button效果源码.rar: /file/64336612 Android 逐帧动画源码.rar: /file/64336855Android 随手势进行3D旋转的源码.rar: /file/64336796Android 非常漂亮的滚动选择日期控件.rar: /file/64336746 Android 音乐播放器歌词列表式同步显示功能源码.rar:/file/64336843Android 页面特效集合源码.rar: /file/64336842Android 颜色选取控件.rar: /file/64336835Android 风车效果源码.rar: /file/64336747Android 高仿WIN8系统磁贴点击下沉倾斜效果源码.rar:/file/64336748Android火焰效果程序源码.rar: /file/64336858EditText插入QQ表情源码.rar: /file/64336860加载时闪烁点样式的启动画面.rar: /file/64336874安卓游戏打地鼠源码.rar: /file/64336872带文字的ProgressBar Demo源码.rar: /file/64336873进度条对话框Demo.rar: /file/64336875365MobileSecretary v1.0.6(365手机助手AIDL).rar: /file/64263563 AdXmpp(Openfire+asmack+spark).rar: /file/64263065AidlDemo(简单aidl的例子).rar: /file/64263064aidl跨进程调用.rar: /file/64263066andbatdog电池监控.rar: /file/64263067andbatdog监视电池.rar: /file/64263068andricoFacebook客户端.rar: /file/64263069Android Gamex木马分析报告.rar: /file/64263070Android 股票源码.rar: /file/64263071android-stocker.rar: /file/64263072Android下的加密信息客户端WhisperSystems-TextSecure.rar: /file/64263073Android与js交互.rar: /file/64263074Android中监听电话状态.rar: /file/64263075Android之Wifi学习教程.rar: /file/64263076android各种传感器实例源码.rar: /file/64263077android在wifi下手机与电脑的socket通信.rar: /file/64263114 Android手机的VoIP客户端Sipdroid.rar: /file/64263078Android源代码定时情景模式切换.rar: /file/64263079Android短信拦截源码.rar: /file/64263080Android股票K线图.rar: /file/64263081Android股票StaticChartDemo.rar: /file/64263082Android自动发送短信.rar: /file/64263115Android远程登录含有loading登录效.rar: /file/64263116Android通讯录(含服务端).rar: /file/64263155BOOK看遍所有UI控件.rar: /file/64263117BrewClock闹钟.rar: /file/64263118BTAndroidWebViewSelection(webview选择文字).rar: /file/64263119 hotel宾馆系统.rar: /file/64269786ImageView 图片循环跑马灯的效果.rar: /file/64269787ipcamera-for-android 手机变成IP Camera.rar: /file/64269795三国杀版连连看(使用html5的canvas特性,纯javascript开发).rar: /file/64269788个人消费记录软件.rar: /file/64269796五种不同的Toast效果.rar: /file/64269797从网络上获取图片.rar: /file/64269798仓库管理系统(单机版).rar: /file/64269799仿ireader书架.rar: /file/64269800仿优酷Android客户端图片左右滑动(自动滑动).rar: /file/64269801 仿百度新闻(手机端和服务器端源代码).rar: /file/64269802休闲生活网络版服务器直接访问即可.rar: /file/64269810使用Vitamio打造自己的Android万能播放器(1)——在线播放.rar: /file/64269803侧边栏滑动.rar: /file/64269804免流量蓝牙聊天软件源码.rar: /file/64269805击溃360手机卫士的三大防护.rar: /file/64269806动画效果translate、scale、alpha、rotate 切换Activity动画控件位置调整.rar: /file/64269807原来PATH的菜单效果如此简单。
Android优秀开源项⽬以下是本⼈⽇常⼯作中收集的⽐较不错的Android开源项⽬roottools:RootTools gives Rooted developers easy access to common rooted tools...https:///p/roottools/wiki/RootToolsmmsbg:mms bg for auto send msg and auto dialhttps:///p/mmsbg/acra:Application Crash Report for Androidhttps:///p/acra/android4me:J2ME port of Google's Android/p/android4me/j2me2ab:A simple J2me to Android Bridgehttps:///p/j2me2ab/meteoroid:create the project to help Java ME developers to convert their projects to Android smoothlyhttps:///p/meteoroid/simple:Simple Compiler And Runtimehttps:///p/simple/android-serialport-api:Accessing serial ports for Android/p/android-serialport-api/zxing:Multi-format 1D/2D barcode image processing library with clients for Android, Javahttps:///p/zxing/alogcat:Android Log Viewer (logcat) Applicationhttps:///p/alogcat/android-scripting:Scripting Layer for Android brings scripting languages to Android.https:///p/android-scripting/bugsense:Defining Mobile App Qualityhttps:///su-binary:su binary for android Superuserhttps:///ChainsDD/su-binarydexmaker:Programmatic code generation for Android.https:///p/dexmaker/androrat:Remote Administration Tool for Android deviceshttps:///RobinDavid/androratandroid-aspectj:Example of AspectJ Method Tracing on Androidhttps:///p/android-aspectj/libandroidinjector:Android Injector Libraryhttps:///p/libandroidinjector/ad-away:AdAway - Open source ad blocker for Androidhttps:///p/ad-away/FScript:FScript is an simple, though powerful scripting language. Its intended use is as an embedded language in other Java programs /projects/fscript/。
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。
其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力。
学习开源代码是掌握技术的一个最佳方式。
下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握Android内核的接口使用:1、Android团队提供的示例项目如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。
由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。
地址:http://apkbus/android-13506-1-1.html2、 Remote DroidRemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。
这个项目为开发者提供了如网络连接、触摸屏手指运动等很好的样例。
地址:http://apkbus/android-13507-1-1.html3、 TorProxy和ShadowTorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。
从该项目源代码中,可以掌握socket连接、管理cookie等方法。
地址:http://apkbus/android-13510-1-1.html4、 Android SMSPopupSMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。
从这个项目中可以掌握到如何使用内置的短信SMS接口。
地址:http://apkbus/android-13513-1-1.html5、 Standup TimerStandup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。
从该项目的代码中,可以学会如何使用时间函数。
GitHubTop100的Android开源库1. React Native这个是 Facebook 在 React.js Conf 2015 ⼤会上推出的基于 JavaScript 的开源框架 React Native, 该框架结合了 Web 应⽤和 Native 应⽤的优势, 可以使⽤ JavaScript 来开发 iOS 和 Android 原⽣应⽤2. Universal ImageLoaderImageLoader 是最早开源的 Android 图⽚缓存库, 强⼤的缓存机制, 早期被⼴泛 Android 应⽤使⽤, ⾄今仍然有很多 Android 开发者在使⽤3. RxJavaRxJava 是⼀个在 Java VM 上使⽤可观测的序列来组成异步的、基于事件的程序的库, 简单来说它就是⼀个实现异步操作的库, RxJava 的优点在于⼀个词 "简洁", 使⽤它就算你程序逻辑有多么复杂, 它依然能够保持简洁易懂4. RetrofitRetrofit 是 Square 公司出品的 HTTP 请求库, 同时是 Square 是最早开源项⽬之⼀, Retrofit 是⽬前 Android 最流⾏的 Http Client 库之⼀, ⽬前版本是 Retrofit2.0 Beta4, 越来越多 Android 开发者开始使⽤这个请求库了5. OkHttpOkHttp 是 Square 公司出品的 HTTP 另⼀个请求库, Google 不推荐⼈们使⽤ HttpClient, 可是 HttpURLConnection 实在是太难⽤了, 因此很多⼈使⽤了 OkHttp 来解决这问题, 据说 Android4.4 的源码中可以看到 HttpURLConnection 已经替换成 OkHttp 实现呢6. SlidingMenu⼀个侧滑菜单开源库, 在 Google ⾃⼰原⽣态的侧滑菜单 NavigationDrawer 没有出现之前, 这个库就已经被⼴泛使⽤, 可是到现在这个库已经被放弃了7. PicassoPicasso 是 Square 公司出品的⼀款图⽚缓存库, 主导者是 JakeWharton ⼤神8. Android-Best-PracticesAndroid 开发最佳实践, ⾥⾯所介绍的经验都是来⾃于 Futurice 公司 Android 开发者, 介绍内容有 Android 开发规范、架构、布局技巧, 以及使⽤⼀些有助于快速开发相关⼯具等等, ⾮常适合新⼿去学习9. EventBusEventBus 是 Android 事件管理总线, 使⽤它可以替带 Android BroadCast, BroadCastReceiver, Handler 在 Activity, Fragment, Service, 线程之间传递消息, ⼤⼤简化了事件传递逻辑10. android-async-httpandroid-async-http 是 Android ⼀款⽼牌异步请求库, 专门对 Android 在 Apache 的 HttpClient 基础上构建的异步 http 连接, 该库有很多特征,例如: 库的 size ⼩, ⽀持⽂件上传不需使⽤第三⽅库⽀持, 内部使⽤线程池来处理并发, 等等11. Fresco12. ZXingZXing 是⼆维码领域中名⽓最⼤的开源项⽬, 它提供了多个平台的⼆维码/条形码扫描解决⽅案, 拥有扫描快, 识别率⾼, 使⽤简单等特点13. LeakCanaryLeakCanary 是 Square 公司出的⼀款检测内存泄露⼯具, 该⼯具能帮助你在开发阶段⽅便的检测出内存泄露的问题, 使⽤起来⾮常简单⽅便14. Butter Knife由 JakeWharton ⼤神开发出来的, ButterKnife 是 View 注⼊框架, 使⽤它为了简写很多 findViewById 代码, 同时还⽀持 View 的⼀些事件处理函数15. MPAndroidChartMPAndroidChart 是⼀款强⼤的 Android 图表库, ⽀持各种各样图表显⽰, 能想到的图表样式这⾥⼏乎都有, 图表还⽀持选择, 拖放和缩放动画效果16. ActionBarSherlockActionBarSherlock 这个库是 JakeWharton ⼤神开发出来⽀持 Android3.0 以下版本的, 后来慢慢的 Google 也提供了 AppCompat 库来⽀持Android3.0 以下版本使⽤ ActionBar, 因此不建议再使⽤这个库了17. AndroidAnnotationsAndroidAnnotations 是⼀个能够让你快速进⾏ Android 开发的开源框架, 它能让你专注于真正重要的地⽅, 使代码更加精简, 使项⽬更加容易维护, 它的⽬标就是 "Fast Android Development.Easy maintainance"18. ViewPagerIndicator由 JakeWharton ⼤神开发出来的⼀个 ViewPager 指⽰器, 使⽤起来简单⽅便, 可⾼度定制, 开发出各种各样动画效果19. GlideGlide 是 Google 员⼯的开源项⽬, ⼴泛应⽤于 Google ⼀些 App 上, 在2014年 Google I/O ⼤会上被推荐使⽤, Glide 和 Picasso 被⼈拿来⽐较研究过, Glide 与 Picasso 有 90% 的相似度, 但在⼀些细节上还是有点区别的, 各有各优缺点看君选择20. HomeMirror开发者是由⼀名程序媛 Hannah Mittelstaedt , HomeMirror 是⼀款 Android 镜⼦应⽤, ⽬前它能实现⽇期, 时间, 天⽓, ⽣⽇信息, 事件提醒器,骑车天⽓的推荐, 股票信息, XKCD 漫画⽹站的新帖等等21. Android-PullToRefresh⼀个强⼤的拉动刷新开源项⽬,⽀持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment 上下左右拉动刷新, 不过现在这个项⽬已经停⽌维护更新了22. MaterialDesignLibrary这个库控件都是遵循了 Google Material Design 设计规范开发出来, 例如有: Flat Button, Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate 等等23. PhotoViewPhotoView 是 ImageView 的⼦类, ⽀持所有 ImageView 的源⽣⾏为, 例如: ⽀持 Pinch ⼿势⾃由缩放, ⽀持双击放⼤/还原, ⽀持平滑滚动等等,并且⾮常⽅便的与 ImageLoader/Picasso 之类的⽹络图⽚读取库集成使⽤, 还⽅便的与 ViewPager 等同样⽀持滑动⼿势的控件集成24. RxAndroid由 JakeWharton ⼤神主导开发的项⽬, RxAndroid 是 RxJava 的⼀个针对 Android 平台的扩展, 主要⽤于 Android 开发25. Material DialogsMaterial Dialogs 是⼀个可⾼度定制易⽤, 符合 Material Design 风格的 Dialogs, 兼容 Android API8 以上版本, 个⼈使⽤感觉它完全可替代Android 原⽣那个, ⽐原⽣那个更加简单易⽤26. AndroidObservableScrollViewObservableScrollView 是⼀款⽤于在滚动视图中观测滚动事件的 Android 库, 它能够轻⽽易举地与 Android 5.0 Lollipop 引进的⼯具栏(Toolbar) 进⾏交互, 还可以帮助开发者实现拥有 Material Design 应⽤视觉体验的界⾯外观, ⽀持ListView, ScrollView, WebView, RecyclerView, GridView组件27. Android-BootstrapAndroid 版的 Bootstrap, 利⽤这个库能够实现很多 Bootstrap 样式风格, 之前有学过 Html 的⼈就知道 Bootstrap 是什么玩意啦28. AndroidSwipeLayout开发者是代码家, AndroidSwipeLayout 是⼀个⽀持ListView, GridView, ViewGroup等等左右上下滑动出操作菜单, 类似 qq 消息列表向左滑动显⽰出多某条信息的操作菜单29. DaggerDagger 是 Square 公司出品的⼀个针对 Android 和 Java 的快速依赖注⼊器, 能够有效减少你敲代码量30. ListViewAnimations⼀个轻轻松松给 Android ListView 添加动画效果的库, ⽀持的动画有: Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn等等, 使⽤它能很容易就实现帅爆的效果31. PagerSlidingTabStripPagerSlidingTabStrip 是⼀个给 Android ViewPager添加上 ViewPager 滑动指⽰器, 从 GitHub 上⾯看, 这个库似乎没有⼈在维护了, 请谨慎使⽤该库32. AndroidViewAnimations开发者是代码家, 这个库实现很多很酷炫的 Android 动画, 动画效果是借鉴 Animate.css 来实现的, ⾮常酷, ⽽且这个使⽤起来也是⾮常简单33. AndroidSlidingUpPanelAndroidSlidingUpPanel 是⼀个上拉⾯板, 就是向上滑动的时候往上飞出⼀个显⽰⾯板控件, 该库效果在 Google Music, Google Maps and Rdio等 App 中⽤到34. MaterialDrawerMaterialDrawer 是⼀个类似 Google 官⽅ NavigationView 侧滑显⽰控件, 个⼈认为 NavigationView 并没有 MaterialDrawer 实⽤, 因为NavigationView ⾃由度不是很好, 很多都写死了不可以⾃由定义布局, ⽽ MaterialDrawer 能够实现跟 NavigationView ⼀样的效果, 同时还⽀持⾃定义效果, ⾃由度⾮常⾼35. Material-AnimationsMaterial-Animations 是⼀个很好过渡动画库, 可以应⽤于 Activity 与 Activity 之间的跳转, Fragment 与 Fragment 之间的跳转, 以及各个 View 变化前后的过渡动画36. MaterialViewPager⼀个简单易⽤ Material Design 风格的 ViewPager 库37. Ionion 是⼀个让 Android 的⽹络操作变得极其简单, ⽀持异步获取和处理JSON, ⽀持 Android ⽂件下载 (同时⽀持下载进度条绑定), ⽀持安全链接和代理38. StethoStetho是 Facebook 出品的⼀个强⼤的 Android 调试⼯具,使⽤该⼯具你可以在 Chrome Developer Tools查看App的布局, ⽹络请求(仅限使⽤Volley, okhttp的⽹络请求库), sqlite, preference, ⼀切都是可视化的操作,⽆须⾃⼰在去使⽤adb, 也不需要root你的设备39. FastjsonFastjson是⼀个Java语⾔编写的⾼性能功能完善的JSON库。
暑期Android游戏开发——⼩兔⼦跳铃铛(附源码)暑期Android游戏开发——⼩兔⼦跳铃铛(附源码)⼀.背景说明 我在南京的⼀所⾼校学习软件⼯程。
学院⾥每年会举⾏⼀次“创新杯”软件⽐赛,⿎励同学⾃主学习和创新。
我和⼏个好兄弟⾃组“铁男组”参加。
经过⼏个晚上的商量,兄弟们决定在Android上开发游戏。
暑假了,兄弟们回家的回家,留校做项⽬的做项⽬。
⽽我决定留校⾃学Android,算是为新学期⼤家的共同开发铺路吧。
该怎么学呢?看书加实践!在⽹上看到⼀个⼩游戏——⼩兔⼦跳铃铛(),觉得挺有意思且难度不⼤,于是决定模仿该游戏,移植到Android平台上。
我是7⽉12号开始接触Android,花了⼀个⽉时间学习时间,也就是在昨天,beta版出炉了。
虽不完美,但看着⾃⼰亲⼿完成每⼀⾏完成的程序,⼼⾥挺乐的。
我将源码贴到⽹上(),有兴趣的朋友可以下下来看看,希望对⼤家的有所帮助,菜鸟互帮,团结就是⼒量嘛~也⾮常希望得到⽜⼈的指点,⼩弟不胜感激。
⼆. 运⾏效果三. 运⾏环境说明我时⽤Eclipse开发的,在模拟器上运⾏。
模拟器的配置如下。
⼤家注意下Skin选项中Built-in 必须是“WQVGA400”(这是我游戏的⼀个缺陷)。
四. 体系结构说明 在看这部分之前,我建议⼤家先到⽹上玩玩那个⼩游戏(),相信会对你对我下⾯类容的理解有所帮助。
下⾯是Eclipse截图,我简要说明下各个类的作⽤1. RabitActivity:游戏就从这个Activity启动,它的主要作⽤就是负责展⽰游戏简介(IntroduceView),如何游戏(HelpView),是否开启⾳效AudioView)的这三个不同的屏幕2. GameActivity:当⽤户选择完是否开启⾳效后,就切换到⼀个新的activity,即GameActivity3. Rabit,Bell, Bird,对游戏中兔⼦,铃铛,鸟的定义。
包括状态(state),图⽚(bitmaps),速度(speed)都在⾥⾯定义。
【开源】44个顶级开源项⽬,11类AI框架⼯欲善其事必先利其器,这也是⼤部分开发者在⽇常⼯作中最重要开发原则。
选择与开发内容相匹配的⼯具,常常会使我们事半功倍。
但⾯对⼈⼯智能的多个领域,如:机器学习、深度学习、NLP等等,多样的⼯具有时也让我们也⽆从选择。
就在最近,⼀个基于 javascript 的可视化库 D3js(treemap 可视化)对 json ⽂件⽣成的技术图,给开发者提供了详细的各领域⼯具清单,内容涵盖了 11 种极具潜⼒的 AI ⼯具类型,我们将其整理如下,强烈建议⼤家收藏~⽬录:Ⅰ、经典机器学习(1-3)Ⅱ、深度学习(4-8)Ⅲ、强化学习(9-12)Ⅳ、⾃然语⾔处理(13-18)Ⅴ、语⾳识别(19-21)Ⅵ、计算机视觉(22-26)Ⅶ、分布式训练(27-31)Ⅷ、⾃动建模(32-35)Ⅸ、IDEs系统(36-38)Ⅹ、平台(39-41)Ⅺ、评分推理系统(42-43)I . 适⽤于经典机器学习的⼯具⼀、SciKit-learn star 39.2k fork 19.2k尤其在监督学习部分,Scikit-learn 提供了⼴义线性模型、⽀持向量机、最近邻算法、⾼斯过程、朴素贝叶斯、决策树和集成⽅法等算法教程,同时还介绍了特征选择、随即梯度下降算法、线性与⼆次判别分析等在监督学习中⾮常重要的概念;⽽在半监督学习中的标签传播算法和⽆监督学习中的聚类与降维算法⽅⾯,也有⾮常多的教程。
GitHub 地址:⼆、XGBoost star 18.3k fork 7.3kxgboost 的全称是 eXtreme Gradient Boosting,它在 Gradient Boosting 框架下实现了 c++机器学习算法。
XGBoost 最⼤的特点在于,它能够⾃动利⽤ CPU 的多线程进⾏并⾏,同时在算法上加以改进提⾼了精度。
它是经过优化的分布式梯度提升库,可扩展性强,⾼效、灵活且可移植。
GitHub 地址:三、 star 3.7k fork 1.7k它可⽤于构建⽣产级计算机视觉、计算机试听、信号处理和统计应⽤程序甚⾄⽤于商业⽤途的完整框架,并为.NET 的应⽤程序提供了统计分析、机器学习、图像处理、计算机视觉相关的算法。
36个Android开发常⽤经典代码⼤全本⽂汇集36个Android开发常⽤经典代码⽚段,包括拨打电话、发送短信、唤醒屏幕并解锁、是否有⽹络连接、动态显⽰或者是隐藏软键盘等,希望对您有所帮助。
//36个Android开发常⽤代码⽚段//拨打电话public static void call(Context context, String phoneNumber) {context.startActivity( new Intent(Intent.ACTION_CALL, Uri.parse( "tel:" + phoneNumber)));}//跳转⾄拨号界⾯public static void callDial(Context context, String phoneNumber) {context.startActivity( new Intent(Intent.ACTION_DIAL, Uri.parse( "tel:" + phoneNumber)));}//发送短信public static void sendSms(Context context, String phoneNumber,String content) {Uri uri = Uri.parse( "smsto:"+ (TextUtils.isEmpty(phoneNumber) ? "" : phoneNumber));Intent intent = new Intent(Intent.ACTION_SENDTO, uri);intent.putExtra( "sms_body" , TextUtils.isEmpty(content) ? "" : content);context.startActivity(intent);}//唤醒屏幕并解锁public static void wakeUpAndUnlock(Context context){KeyguardManager km= (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);KeyguardManager.KeyguardLock kl = km.newKeyguardLock( "unLock" );//解锁kl.disableKeyguard();//获取电源管理器对象PowerManager pm=(PowerManager) context.getSystemService(Context.POWER_SERVICE);//获取PowerManager.WakeLock对象,后⾯的参数|表⽰同时传⼊两个值,最后的是LogCat⾥⽤的TagPowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright" ); //点亮屏幕wl.acquire();//释放wl.release();}//需要添加权限<uses-permission android:name= "android.permission.WAKE_LOCK" /><uses-permission android:name= "android.permission.DISABLE_KEYGUARD" />//判断当前App处于前台还是后台状态public static boolean isApplicationBackground( final Context context) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);@SuppressWarnings ( "deprecation" )List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks( 1 ); if (!tasks.isEmpty()) {ComponentName topActivity = tasks.get( 0 ).topActivity;if (!topActivity.getPackageName().equals(context.getPackageName())) { return true ;}}return false ;}//需要添加权限<uses-permissionandroid:name= "android.permission.GET_TASKS" />//判断当前⼿机是否处于锁屏(睡眠)状态public static boolean isSleeping(Context context) {KeyguardManager kgMgr = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);boolean isSleeping = kgMgr.inKeyguardRestrictedInputMode();return isSleeping;}//判断当前是否有⽹络连接public static boolean isOnline(Context context) {ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Activity.CONNECTIVITY_SERVICE);NetworkInfo info = manager.getActiveNetworkInfo();if (info != null && info.isConnected()) {return true ;}return false ;}//判断当前是否是WIFI连接状态public static boolean isWifiConnected(Context context) {ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);if (wifiNetworkInfo.isConnected()) {return true ;}return false ;}//安装APKpublic static void installApk(Context context, File file) {Intent intent = new Intent();intent.setAction( "android.intent.action.VIEW" );intent.addCategory( "android.intent.category.DEFAULT" );intent.setType( "application/vnd.android.package-archive" );intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive" );intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}//判断当前设备是否为⼿机public static boolean isPhone(Context context) {TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) { return false ;} else {return true ;}}//获取当前设备宽⾼,单位px@SuppressWarnings ( "deprecation" )public static int getDeviceWidth(Context context) {WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);return manager.getDefaultDisplay().getWidth();}@SuppressWarnings ( "deprecation" )public static int getDeviceHeight(Context context) {WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);return manager.getDefaultDisplay().getHeight();}//获取当前设备的IMEI,需要与上⾯的isPhone()⼀起使⽤@TargetApi (Build.VERSION_CODES.CUPCAKE)public static String getDeviceIMEI(Context context) {String deviceId;if (isPhone(context)) {TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);deviceId = telephony.getDeviceId();} else {deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);}return deviceId;}//获取当前设备的MAC地址public static String getMacAddress(Context context) {String macAddress;WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifi.getConnectionInfo();macAddress = info.getMacAddress();if ( null == macAddress) {return "" ;}macAddress = macAddress.replace( ":" , "" );return macAddress;}//获取当前程序的版本号public static String getAppVersion(Context context) {String version = "0" ;try {version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0 ).versionName;} catch (NotFoundException e) {e.printStackTrace();}return version;}//收集设备信息,⽤于信息统计分析public static Properties collectDeviceInfo(Context context) {Properties mDeviceCrashInfo = new Properties();try {PackageManager pm = context.getPackageManager();PackageInfo pi = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_ACTIVITIES);if (pi != null ) {mDeviceCrashInfo.put(VERSION_NAME,pi.versionName == null ? "not set" : pi.versionName);mDeviceCrashInfo.put(VERSION_CODE, pi.versionCode);}} catch (NotFoundException e) {Log.e(TAG, "Error while collect package info" , e);}Field[] fields = Build. class .getDeclaredFields();for (Field field : fields) {try {field.setAccessible( true );mDeviceCrashInfo.put(field.getName(), field.get( null ));} catch (Exception e) {Log.e(TAG, "Error while collect crash info" , e);}}return mDeviceCrashInfo;}public static String collectDeviceInfoStr(Context context) {Properties prop = collectDeviceInfo(context);Set deviceInfos = prop.keySet();StringBuilder deviceInfoStr = new StringBuilder( "{\n" );for (Iterator iter = deviceInfos.iterator(); iter.hasNext();) {Object item = iter.next();deviceInfoStr.append( "\t\t\t" + item + ":" + prop.get(item)+ ", \n" );}deviceInfoStr.append( "}" );return deviceInfoStr.toString();}//是否有SD卡public static boolean haveSDCard() {return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);}//动态隐藏软键盘@TargetApi (Build.VERSION_CODES.CUPCAKE)public static void hideSoftInput(Activity activity) {View view = activity.getWindow().peekDecorView();if (view != null ) {InputMethodManager inputmanger = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE);inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0 );}}@TargetApi (Build.VERSION_CODES.CUPCAKE)public static void hideSoftInput(Context context, EditText edit) {edit.clearFocus();InputMethodManager inputmanger = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);inputmanger.hideSoftInputFromWindow(edit.getWindowToken(), 0 );}//动态显⽰软键盘@TargetApi (Build.VERSION_CODES.CUPCAKE)public static void showSoftInput(Context context, EditText edit) {edit.setFocusable( true );edit.setFocusableInTouchMode( true );edit.requestFocus();InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);inputManager.showSoftInput(edit, 0 );}//动态显⽰或者是隐藏软键盘@TargetApi (Build.VERSION_CODES.CUPCAKE)public static void toggleSoftInput(Context context, EditText edit) {edit.setFocusable( true );edit.setFocusableInTouchMode( true );edit.requestFocus();InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0 ); }//主动回到Home,后台运⾏public static void goHome(Context context) {Intent mHomeIntent = new Intent(Intent.ACTION_MAIN);mHomeIntent.addCategory(Intent.CATEGORY_HOME);mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);context.startActivity(mHomeIntent);}//获取状态栏⾼度//注意,要在onWindowFocusChanged中调⽤,在onCreate中获取⾼度为0@TargetApi (Build.VERSION_CODES.CUPCAKE)public static int getStatusBarHeight(Activity activity) {Rect frame = new Rect();activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);return frame.top;}//获取状态栏⾼度+标题栏(ActionBar)⾼度//(注意,如果没有ActionBar,那么获取的⾼度将和上⾯的是⼀样的,只有状态栏的⾼度)public static int getTopBarHeight(Activity activity) {return activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();}//获取MCC+MNC代码 (SIM卡运营商国家代码和运营商⽹络代码)//仅当⽤户已在⽹络注册时有效, CDMA 可能会⽆效(中国移动:46000 //46002, 中国联通:46001,中国电信:46003)public static String getNetworkOperator(Context context) {TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);return telephonyManager.getNetworkOperator();}//返回移动⽹络运营商的名字//(例:中国联通、中国移动、中国电信) 仅当⽤户已在⽹络注册时有效, //CDMA 可能会⽆效)public static String getNetworkOperatorName(Context context) {TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);return telephonyManager.getNetworkOperatorName();}//返回移动终端类型PHONE_TYPE_NONE :0 ⼿机制式未知PHONE_TYPE_GSM :1 ⼿机制式为GSM,移动和联通PHONE_TYPE_CDMA :2 ⼿机制式为CDMA,电信PHONE_TYPE_SIP:3public static int getPhoneType(Context context) {TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);return telephonyManager.getPhoneType();}//判断⼿机连接的⽹络类型(2G,3G,4G)//联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EGDE,电信的2G为CDMA,电信的3G为EVDOpublic class Constants {/*** Unknown network class*/public static final int NETWORK_CLASS_UNKNOWN = 0 ;/*** wifi net work*/public static final int NETWORK_WIFI = 1 ;/*** "2G" networks*/public static final int NETWORK_CLASS_2_G = 2 ;/*** "3G" networks*/public static final int NETWORK_CLASS_3_G = 3 ;/*** "4G" networks*/public static final int NETWORK_CLASS_4_G = 4 ;}public static int getNetWorkClass(Context context) {TelephonyManager telephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);switch (telephonyManager.getNetworkType()) {case WORK_TYPE_GPRS:case WORK_TYPE_EDGE:case WORK_TYPE_CDMA:case WORK_TYPE_1xRTT:case WORK_TYPE_IDEN:return WORK_CLASS_2_G;case WORK_TYPE_UMTS:case WORK_TYPE_EVDO_0:case WORK_TYPE_EVDO_A:case WORK_TYPE_HSDPA:case WORK_TYPE_HSUPA:case WORK_TYPE_HSPA:case WORK_TYPE_EVDO_B:case WORK_TYPE_EHRPD:case WORK_TYPE_HSPAP:return WORK_CLASS_3_G;case WORK_TYPE_LTE:return WORK_CLASS_4_G;default :return WORK_CLASS_UNKNOWN;}}//判断当前⼿机的⽹络类型(WIFI还是2,3,4G)//需要⽤到上⾯的⽅法public static int getNetWorkStatus(Context context) {int netWorkType = WORK_CLASS_UNKNOWN;ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();if (networkInfo != null && networkInfo.isConnected()) {int type = networkInfo.getType();if (type == ConnectivityManager.TYPE_WIFI) {netWorkType = WORK_WIFI;} else if (type == ConnectivityManager.TYPE_MOBILE) {netWorkType = getNetWorkClass(context);}}return netWorkType;}//px-dp转换public static int dip2px(Context context, float dpValue) {final float scale = context.getResources().getDisplayMetrics().density;return ( int ) (dpValue * scale + 0 .5f);}public static int px2dip(Context context, float pxValue) {final float scale = context.getResources().getDisplayMetrics().density;return ( int ) (pxValue / scale + 0 .5f);}//px-sp转换public static int px2sp(Context context, float pxValue) {final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return ( int ) (pxValue / fontScale + 0 .5f);}public static int sp2px(Context context, float spValue) {final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return ( int ) (spValue * fontScale + 0 .5f);}//把⼀个毫秒数转化成时间字符串//格式为⼩时/分/秒/毫秒(如:24903600 –> 06⼩时55分03秒600毫秒)/*** @param millis* 要转化的毫秒数。
GitHub上最火的40个Android开源项目(一)GitHub上最火的40个Android开源项目(一)GitHub上最火的40个Android开源项目(二)GitHub上最火的74个Android开源项目(三)GitHub上最火的40个iOS开源项目(一)GitHub上最火的40个iOS开源项目(二)GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。
更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。
利用这些项目,有时能够让你达到事半功倍的效果。
下面,就让我们一起来看看,在GitHub平台上,究竟有哪些Android开源项目最火,也最受开发者欢迎。
1.ActionBarSherlockActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式。
对于Android4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有Ac tionBar功能的版本,基于IceCreamSandwich的自定义动作栏实现将自动围绕布局。
能够让开发者轻松开发一款带动作栏(Actio nbar)的应用,并且适用于Android 2.x及其以上所有版本。
详情请参考:ActionBarSherlock2.facebook-android-sdkFacebook SDK for Android是一个开源库,允许开发者将Facebook集成到所开发的Andr oid应用中。
如果想要获取更多关于示例、文档、将SDK集成到App中、源代码等信息,可直接登陆Face book Developers查看。
3.SlidingMenu(SlidingMenuDemos)SlidingMenu是一个开源的Android库,能够让开发者轻松开发一款应用,实现类似于Goo gle+、Youtube和Facebook应用中非常流行的滑动式菜单。
使用SlidingMenu的Android应用:•Foursquare•Rdio•Plume•VLC for Android•ESPN ScoreCenter•MLS MatchDay•9GAG•Wunderlist 2•The Verge•MTG Familiar•Mantano Reader•Falcon Pro (BETA)•MW3 Barracks4. cocos2d-x在移动开发领域,将Cocos2D-X用于主流iOS/Android游戏开发的公司、开发团队多不胜数。
cocos2d-x是一个开源的支持多平台的2D游戏框架,使用C++开发,基于cocos2d-ip hone,在MIT许可证下发布。
主分支在GitHub上使用OpenGLES 2.0渲染,而旧版gles11分支则使用OpenGL ES 1.1渲染。
支持iOS、Android、Windows Phone8、Bada、BlackBerry、Marmalade、Windows、Linux等多个平台。
支持C++、Lua、Jav aScript编程语言。
5. androidGitHub Android App是GitHub开源的Android客户端,支持Issues、Gists,并集成了新闻Feed,能够让你及时跟进组织及关注的开发者、库等。
同时,该应用还提供了一个用户快速访问你所创建、监控及发布issue的面板,可查看并将问题加入到收藏夹,可对标签、里程碑和任务进行过滤配置。
android资源库包含了GitHub Android App的所有源代码。
6.Android-ViewPagerIndicatorViewPager指针项目,在使用ViewPager的时候能够指示ViewPager所在的位置,就像Go oglePlay中切换的效果一样,还能使用在应用初始化的介绍页面。
兼容Android支持库的ViewPager及ActionBarSherlock,最初是基于PatrikÅkerfeldt的ViewFlow,开发者可以直接登陆GooglePlay下载该项目的演示应用。
7. MonoGameMonoGame是一个Microsoft XNA 4.xFramework的开源跨平台实现。
用于让XNA开发者将他们在Xbox 360、Windows & Windows Phone上开发的游戏移植到iOS、Android、Mac OS X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry PI的开发正在进行中。
详情请参考:**MonoGame**8.Android-PullToRefresh该项目用于为Android提供一个可重用的下拉刷新部件。
它最初来源于JohanNilsson的库(主要是图形、字符串和动画),但这些后来都已被取代。
9. android-async-httpandroid-async-http是Android上的一个异步、基于回调的HTTP客户端开发包,建立在Ap ache的HttpClient库上。
10.Android-Universal-Image-LoaderAndroid上最让人头疼的莫过于从网络获取图片、显示、回收,任何一个环节有问题都可能直接OOM,这个项目或许能帮到你。
Universal Image Loader forAndroid的目的是为了实现异步的网络图片加载、缓存及显示,支持多线程异步加载。
它最初来源于FedorVlasov的项目,且自此之后,经过大规模的重构和改进。
11. GreenDroidGreenDroid最初是由CyrilMottier发起,是一个Android的UI开发类库,能够让UI开发更加简便,并且在应用中始终保持一致。
详情请参考:Cyril Mottier'sBlog12. Anki-AndroidAnkiDroid是一个免费、开源的Android的闪存应用,可直接从GooglePlay进行下载。
详情请参考:ankidroid13.android-actionbarActionbar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。
在大多数的情况下,当开发者需要突出展现用户行为或在全局导航的activity中使用actionbar,因为actionbar能够使应用程序给用户提供一致的界面,且系统能够很好地根据不同的屏幕配置来适应操作栏的外观。
Action bar的主要目的:•提供一个用于识别应用程序的标示和用户的位置的专用空间。
•在不同的应用程序之间提供一致的导航和视觉体验。
•突出Activity的关键操作,并且在可预见的方法内给用户提供快捷的访问。
14.android-viewflowandroid-viewflow是Android平台上的一个视图切换的效果库,ViewFlow相当于Android UI部件提供水平滚动的ViewGroup,使用Adapter进行条目绑定。
15.android-mapviewballoons当使用Android地图外部库(com.google.android.maps)时,android-mapviewballoons 会提供一个简单的方式来对地图覆盖进行标注,就是一个简单的信息气泡。
它由BalloonOverlayView组成,是一个代表显示你的MapView及BalloonItemizedOverla y的气泡的视图,BalloonItemizedOverlay是ItemizedOverlay的一个抽象扩展。
16.PushSharp一个向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、WindowsPhone和Windows 8设备发送推送通知的服务器端库。
17.androidannotationsAndroid Annotations是一个开源的框架,用于加速Android应用的开发,可以让你把重点放在功能的实现上,简化了代码,提升了可维护性。
18.HockeyKitHockey是一个iOS Ad-Hoc自动更新框架。
苹果AppStore中的所有App都可以使用它,它能够显著地提高Beta测试的整个过程,分为两部分:服务器和客户端框架。
服务器组件需要所有脚本,但在没有客户端库的情况下,也可以单独工作。
它提供一个Web接口,Beta测试者可以使用它来安装最新的AdHoc配置文件,也可以直接在设备上通过Safari安装最新的Beta版本。
•只需在服务器上安装一次服务端,就可以处理包标识符不同的多个应用程序(有开发者强烈建议对Debug、AdHoc Beta和AppStore发布版使用不同的包标识符)。
•默认当App启动或唤醒时,客户端会从服务器检测更新,用户可以在设置对话框中进行修改:一天一次或手动检查更新。
•除了支持iOS,HokeyKit也支持Android平台,不过Android版还处在Alpha阶段,支持OTA及应用内更新。
•为HockeyKit用户提供服务器托管服务。
19.android-menudrawerAndroid上的菜单展示风格各异,其中用得最多且体验最好的莫过于左右滑动来显示隐藏的菜单,android-menudrawer是一个滑动式菜单实现,允许用户在应用当中实现无缝导航。
该项目具有多种菜单展示效果,其中最常见的就是通过屏幕边缘拖动或点击动作栏的“向上”按钮显示。
实现功能:•菜单可以沿着四个边放置。
•支持附加一个始终可见、不可拖动的菜单。
•菜单的内容和整个窗口都可以隐藏。
•可用于XML布局。
•显示当前可见屏幕的指示器。
20. android-flipAphid FlipView是一个能够实现Flipboard翻页效果的UI组件。
以上为GitHub上最受欢迎的Android开源项目TOP20,敬请期待“GitHub上最受欢迎的A ndroid开源项目(二)”。
原文转自csdn:/article/2013-05-03/2815127-Android-open-sourc e-projectsGitHub上最火的40个Android开源项目(二)作者:过期的白砂糖更新于06月20日访问(4439)评论(9)GitHub上最火的40个Android开源项目(一)GitHub上最火的40个Android开源项目(二)GitHub上最火的74个Android开源项目(三)GitHub上最火的40个iOS开源项目(一)GitHub上最火的40个iOS开源项目(二)在《GitHub上最火的40个Android开源项目(一)》中,我们详细地介绍了GitHub 上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常用的是哪些开源项目?使用起来是否能让你得心应手?今天,我们将介绍另外20 Androi d开源项目,在这些项目中,你又用到了哪些呢?21.drag-sort-listviewDragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能。