开源中国android客户端源码分析-学习笔记1

Android 上千实例源码分析以及开源分析 Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多。 首先 介绍几本书籍(下载包中)吧。 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_A 阅读详情

一、启动时的spalsh界面
在应用启动的时候,出现一个启动的欢迎界面,在这个界面中完成的任务:
1、Log日志的上传
2、跳转到主界面
3、动画——在动画结束时执行上述两项操作

二、涉及到的java类文件
1、AppStart.java——整个应用的入口
2、LogUploadService.java——在AppStart开启,完成上一次记录在本地的日志的上传
3、MainActivity.java——程序的主界面

三、相关的java类文件的分析
1、AppStart的分析
在AppStart中通过一个动画来控制Splash界面中的图片优雅的展示出来,在动画结束的时候,完成两个动作:
1)启动Service,上传日志
2)跳转到程序的主界面

2、LogUploadService的分析
在AppStart中开启了一个服务LogUploadService用来上传应用程序的日志,采用的是startService的方式开启服务。
上传分为:上传日志upLoadLog和上传反馈意见feedback,根据report来进行区分上传的类别。

Intent uploadLog = new Intent(this,LogUploadService.class);
startService(uploadLog);//实际上是调用onStartCommand()方法

在服务开启后根据情况进行如下操作:
1、读取OSC本地文件夹下的日志信息
2、如果日志信息为空,服务停止——LogUploadService.this.stopSelf()
3、如果日志信息不为空,上传日志

在发生以下情况需要停止服务(执行LogUploadService.this.stopSelf()):
1、日志信息为空
2、日志上传成功
3、日志上传失败

3、MainActivity分析
启动主界面,需要在Manifest文件中进行配置

四、额外问题
1、在OnCreate方法中有一个防止第三方跳转出现双实例的代码

 // 防止第三方跳转时出现双实例
Activity aty = AppManager.getActivity(MainActivity.class);
/*AppManager类是一个自定义的工具类,作用是将应用程序所有启动的Activity都添加到堆栈,最终退出应用程序时全部释放掉Activity*/
        if (aty != null && !aty.isFinishing()) {
            finish();
        }

2、在onResume中有一系列的动作,在闪屏页检测是否是第一次安装,将曾经安装的残留缓存文件删除。

protected void onResume() {
     super.onResume();
     int cacheVersion = PreferenceHelper.readInt(this, "first_install","first_install", -1);
        int currentVersion = TDevice.getVersionCode();
        if (cacheVersion < currentVersion) {
            PreferenceHelper.write(this, "first_install", "first_install",currentVersion);
            cleanImageCache();
        }
    }

  private void cleanImageCache() {
        final File folder = FileUtils.getSaveFolder("OSChina/imagecache");
        KJAsyncTask.execute(new Runnable() {
            @Override
            public void run() {
                for (File file : folder.listFiles()) {
                    file.delete();
                }
            }
        });
    }

参考资料:
http://blog.youkuaiyun.com/watermusicyes/article/details/47392905

开源中国最新版代码(Android) 版本号为v2.8.5 立即下载

相关推荐

高仿开源中国APP源码

开源中国APP源码完整版ES导入

开源中国(OSChina)源码解析(3)——Activity基类(旧版)

在分析主页面(MainActivity)之前,我们需要知道Activity基类(BaseActivity)都封装了哪些功能,对外提供了哪些共通的方法。

Android 研习社 825

开源中国三个移动平台客户端源码

开源中国三个移动平台客户端源码,内含android,iphone,wp7三个系统的源码

开源中国源码分析(一)

咨讯详情页面分析 布局页面文件fragment_general_news_detail.xml布局文件中包含上滑评论条隐藏,下滑评论条显示 相关推荐、相关评论布局是通过继承LinearLayout再填充marge布局页面 相关推荐布局文件lay_detail_about_layout.xml,看运行效果貌似是ListView, 其实是LineartLayout,由DetailAbout

技术分享 5047

安卓Android源码——oschina--app(开源中国).zip

安卓Android源码——oschina--app(开源中国).zip

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

WangEditor 5.0版本dangerouslyInsertHtml方法的正确使用方式

yang1067155909的专栏 4290

开源中国源码分析(二)

动弹详情表情键盘的分析: TweetDetailActivity.java的initWidget()方法中开始阅读 KeyboradInputDelegation.java的静态方法中填充了评论工具条的布局 在KeyboradInputDelegation#showEmoji()方法中实例化了帧布局控件和Emoji图片控件 接着实例化表情键盘所在的Fragment设置了点击监听器【用于监听

技术分享 945

Kylin V10 ARM64离线安装ffmpeg实战指南

在国产化替代浪潮下,基于银河麒麟V10和ARM架构(如飞腾、鲲鹏)的内网服务器部署音视频处理服务成为常态。由于系统默认软件源缺乏aarch64包且无法连接外网,常规yum安装方式难以奏效。本文从离线安装的通用概念出发,剖析了在Kylin V10上安装ffmpeg的三大路线及其原理,重点介绍了源码编译法,包括依赖梳理、工具链准备、编译参数配置、常见错误排查等关键环节。同时,将这套依赖管理与离线部署方法论延伸至nginx、node.js、Python库及docker等场景,帮助读者建立一套可复用的国产化系统离线

weixin_33417488的博客 147

开源中国(OSChina)源码解析(2)——闪屏页

1、前言 今天跟大家一起对闪屏页的源码进行分析。先请大家看一下,下面的视觉图,对这个闪屏页的机能有一个大致的了解。 + 全屏 + 没有状态栏 + 延迟加载 + 加载开源中国的欢迎图 2 源码分析 2.1、启动入口 我们首先得找到程序的入口,然后才能知道启动的页面是哪一个activity。 在清单文件中找到包含以下属性的IntentFilter 讲解:决定一个应用

Android 研习社 850

SAP License USMM SLAW2 SAP审计

引言 企业每年都会收到SAP License审计邮件,邮件内容大致就是根据贵公司与SAP签定的合同XXX条款规定,贵公司所安装的SAP系统需要进行测定。 关键字: SAP License、 SAP USMM、 SLAW2、 SAP 账号、SAP 账号审计、 SAP License 审计、 SAP 审计报告、SAP 账号优化 SAP License审计邮件 企业每年都会收到SAP License审计邮件,邮件内容大致就是根据贵公司与SAP签定的合同XXX条款规定,贵公司所安...

感悟人生 2975

MATLAB创建GUI面板实现二维码生成与识别

利用matlab设计gui界面实现二维码的生成与内容识别

infinitystardust的博客 3148

android 开源源码分析,[Android]开源中国源码分析——UI设计XML文件分析

今天看了开源中国android版的源码的UI部分,感觉写得很规范。下面将分析内容总结如下:它的主layout是main.xml,如下图所示:android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="@color/whit...

weixin_39984442的博客 198

代码审计工具学习之Seay(安装以及初步认识)

目录 1.1名词解释 1.2代码审计的重要性 1.3代码审计的步骤 1.4代码审计的内容 1.5常见的代码审计工具 2 Seay 2.1什么是Seay 2.2Seay的安装过程 3典型漏洞分析 3.1什么是命令注入漏洞 3.2 如何理解命令注入漏洞 3.3 如何防御命令注入漏洞 4 利用工具对命令注入漏洞进行分析 4.1DVWA靶场命令注入漏洞分析 4.2 Pikachu靶场命令注入漏洞分析 1.1名词解释 软件代码审计是对编程项目中源代码的全面...

weixin_52515588的博客 2万+

如何高效使用开源中国Android客户端:新手必读的5个技巧

开源中国Android客户端是一个专为开发者打造的移动社区应用,让你随时随地获取最新技术资讯、参与技术讨论、分享编程经验。作为国内领先的开源社区客户端,它集成了资讯浏览、博客阅读、问答社区、动弹分享等核心功能,是程序员日常学习和交流的必备工具。在这篇完整指南中,我将分享5个实用技巧,帮助你快速上手并高效使用这款开源社区应用。 ## 📱 1. 快速入门:应用界面与核心功能导航 开源中国Andr

gitblog_01041的博客 802

VMware ESXi 7.0下Intel网卡SR-IOV配置实战:解决虚拟化网络延迟问题

本文详细介绍了在VMware ESXi 7.0环境下为Intel网卡配置SR-IOV(单根I/O虚拟化)的完整实战流程。通过硬件辅助直通技术,虚拟机可直接访问物理网卡资源,有效绕过虚拟化层瓶颈,从而显著降低网络延迟和CPU开销,适用于金融交易、实时计算等对性能敏感的场景。

embedding5hiker的博客 552

【项目解析】2KW 230V 数字逆变器控制系统(二)

【项目解析】 2KW 230V 数字逆变器控制系统(一) 项目的 交流输出电压 并不是单纯一个电压环就能控制好的,而是典型的 双环控制架构:最终占空比控制量会经过计算: 然后写入 单片机 TMM 定时器的比较寄存器 (TMGRA0/TMGRD0/TMGRC1), → 定时器输出互补 PWM, → 驱动 IGBT 全桥, → 经过 LC 滤波形成 230 VAC / 50Hz 的正弦电压。总结交流电压是双环控制的结果:目标/作用:把输出 RMS 电压稳到目标(例如 230 VAC);在母线波动与负载变化下

Naiva的博客 1296

【Android开源项目分析】android轻量级开源缓存框架——ASimpleCache(ACache)源码分析

ASimpleCache框架源码链接 https://github.com/yangfuhai/ASimpleCache 杨神作品,大家最熟悉他的应该是afinal框架吧 官方介绍 ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。 1、它可以缓存什么东西? 普通的字符串、JsonObject、JsonArray、Bitmap

牧之 2万+

生存曲线绘制及图例标签添加(使用R语言)

数据应该包含两列:一个是表示个体生存时间的时间变量(通常称为"时间(time)“)和一个是表示个体是否发生事件(如死亡)的事件变量(通常称为"事件(event)”)。通过修改上述代码中的数据和参数,您可以根据自己的需求绘制生存曲线,并添加相应的图例信息和标签。生存曲线是在生存分析中常用的工具,用于描述一组个体随时间的存活概率。函数的第一个参数指定图例的位置,这里我们选择了右上角(“topright”)。包来进行生存曲线的绘制,并通过添加图例信息和标签来增强可视化效果。的数据框,包含这两列数据。

CyberXZ的博客 555

开源中国android客户端源码分析-学习笔记2

一、MainActivity详解 其中涉及的知识点 1、注解ButterKnife的使用 用 @bind 给字段注释并且ButterKnife会根据给定的View ID去查找并自动转换为与你的Layout中相匹配的View。 class ExampleActivity extends Activity { @Bind(R.id.title) TextView t

c1925363518的博客 470

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android 上百实例源码分析以及开源分析

首先 介绍几本书籍(下载包中)吧。 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多

qq_35646075的博客 2098

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 6相机源码,开源中国 OsChina Android 客户端源码分析(6)拍照、图库、裁剪...

1开源中国 OsChina Android 客户端源码拍照、图库、裁剪分析代码在net.oschina.app.fragment包下,MyInformationFragmentDetail类中;2该类实现了两种设置用户图像的方法:从图册选择以及拍照获取图片;3对获取到的图片进行裁剪处理,以获取用户指定大小的图片;4拍照分析:拍照的核心代码,通过意图调用系统API 进行拍照intent = new ...

weixin_39602560的博客 248

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

(1)开源中国android客户端源码分析

学习笔记 转载于:https://www.cnblogs.com/xiongwei/p/9318608.html

105

开源中国 OsChina Android 客户端源码分析(6)拍照、图库、裁剪

为什么80%的码农都做不了架构师?>>> ...

weixin_33949359的博客 133

开源中国APP Android端源码分析系列(一)

简述 这篇文章是基于OSCHINA Android客户端4.1.7版本的分析,之前很多人都分析过源码,但是都是几年前的代码分析,随着时间的推移,开源中国的源码也在变化,接下来的一段时间我将分享我通过学习开源中国的代码所获得东西。 启动页面 研究一个APP或者一个网站的源码,最开始的时候一定会从APP或者网站的入口学习。OSCHINA的入口从下的配置文件可以找到AndroidManifest.x...

qq_15691107的博客 1685

2024年安卓最新优快云 Android客户端的制作 导航帖(1),阿里面试100%会问到的JVM

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

2401_84545830的博客 1011
上一篇: Android中Handler的理解
下一篇: 开源中国android客户端源码分析-学习笔记2
c1925363518
博客等级 码龄11年 4粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值