首页 文章 精选 留言 我的

精选列表

搜索[序列化框架],共10000篇文章
优秀的个人博客,低调大师

Android--项目框架介绍

公司最近要开发一款Android平台下的应用,通讯软件,所以年后上班一直在研究Android方面的内容。 使用Eclipse开发的Android,对于一个新建的Android项目,自动生成的项目结构如下图: 自动生成的目录介绍: src目录:主要是存放编写的Java代码。 assets目录:资源目录。 res目录:存放图片、布局文件、字符串、菜单等文件。 bin目录:输出文件夹,如生成的APK文件。 project.properties:工程属性文件配置。 gen目录:系统自动生成的代码目录,存放R.java. 这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr、drawable、layout、string等4个静态内部类,每个类对应一种资源。例如在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。 在res资源文件夹下包含有以下的文件: Drawable存放工程图片的信息,默认png格式的图片。 Layout存放工程的布局文件以.xml结束。 Values文件夹下存放一个很重要的string.xml,此文件夹存放的是自定义的字符串和数值。 除了这个文件之外,还可以定义arrays.xml(用来定义数组)、color.xml(用来定义颜色和颜色字符串数值)、dimens.xml(用来定义尺寸数值)、styles.xml(用来定义样式)。这些文件只是为了区分资源的类型,一种开发规范,便于开发人员识别修改,其实可以全部定义在string.xml文件中,均可以自动生成到R.java,便于使用。 资源文件分别的格式: 数组: <string-array name="city"> <item >北京</item> <item >上海</item> </string-array> 颜色,使用二进制的RGB值表示: <color name="bgcolor">#FFCCFF</color> 尺寸: <dimen name="width">20dp</dimen> 样式: <sytle name="customText"> <item name="android:textSize">20sp</item> </sytle> 在安卓的activity中,均有一个全局的方法,getResource()来获取资源,具体资源的获取方法如下: 文件 取值方式 String.xml getResource().getString(resourceId)、getResource().getText(resourceId) Arrays.xml getResource().getStringArray(resourceId) colors.xml getResource().getDarwable(resourceId)、getResource().getColor(resourceId) Dimens.xml getResource().getDimension(resourceId) Styles.xml 不需要取值 AndroidManifest.xml文件介绍 AndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities、services等等),他们各自的实现类,各种能被处理的数据和启动位置。能声明程序中的Activity、ContentProviders、ServersIntent Receivers、permissions和instrumentation(安全控制和测试)。 示例: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="bgxt.demo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".SimpleActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 其中manifest节点中的一些属性,介绍: Packgae:包,表示整个java应用程序的主要包名,而且是一个默认的程序名称。 Android:versionCode:表示该工程说生产的apk的版本号,1开始,逐渐递增。 Android:versionName:表示版本的一个名称。类似于:1.0、2.0. Android:installLoacation:自动寻找安装的地方,ROM或者SDCard,默认属性为自动。可选属性有auto:系统默认、internalOnly:仅仅只能安装在ROM上、preferExternal:会直接安装在sdcard上。 Application节点的一些属性介绍: Android:icon:表示应用程序的图标,Logo图片。 Android:label:表示应用的工程文字说明。 Activity节点的属性介绍: Android:name:表示整个应用程序的主程序的名称。 Intent-filter :意图过滤器,用来过滤用户的一些动作和操作。 本文转自承香墨影博客园博客,原文链接:http://www.cnblogs.com/plokmju/archive/2013/03/07/2949041.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Docker基础概念与框架

什么是容器? 一种虚拟化方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依赖于Linux内核特性:NameSpace和CGroups(Control Group) Docker的目标: 提供简单轻量的建模方式 职责的逻辑分离 快速高效的开发生命周期 鼓励使用面向服务的架构 Docker的使用场景: 使用Docker容器开发、测试、部署服务 创建隔离的运行环境 搭建测试环境 构建多用户的平台即服务(PaaS)基础设施 提供软件即服务(SaaS)应用程序 高性能、超大规模的宿主机部署 Docker的基本组成: Docker Client客户端 Docker Daemon守护进程 Docker Image镜像 Docker Container容器 Docker Registry仓库 Docker是C/S的架构,Docker的客户端向Docker的守护进程发出请求,守护进程处理完所有的工作并返回结果。Docker容器的创建运行基于Docker的镜像。Docker镜像是一个层叠的只读文件系统,最底层是一个引导系统bootfs,当一个容器启动后,这个容器将会被移动到内存中,而引导文件系统会被卸载。Docker镜像的第二层是rootfs,位于bootfs之上。rootfs可以是一种或多种文件系统,在传统的Linux中,rootfs将会以只读文件系统进行加载,当引导结束并且完成了完整性检查后,才会被切换为读写模式,但是Docker中rootfs永远是只读文件系统的状态,并且Docker使用联合加载技术在rootfs之上加载更多的只读文件系统,在外部称为一个完整的系统。Docker将这样的文件系统称为镜像。Docker的容器启动的时候将会在镜像的最顶层加载一个可读写的文件系统,在Docker中执行的程序就是在这个可写层执行的。当Docker容器启动后,这个可写层是空的,当需要修改文件系统的文件的时候,Docker将会把这个文件复制到可写层,这个可写层的文件副本将会隐藏只读层的对应的文件,这就叫做Docker写时复制。Docker使用仓库来保存用户构建的镜像,仓库分为公有仓库和私有仓库两种,Docker自己提供的Docker公有仓库叫做Docker Hub。 Docker容器的相关技术: Docker依赖的Linux内核特性 (1)Namespaces命名空间: 编程语言中的命名空间是为了实现更好的封装,也就是代码隔离。 操作系统的命名空间是实现了系统资源的隔离,例如:进程、网络、文件系统。Linux内核实现命名空间的最主要的原因之一就是为了实现轻量级的虚拟化功能。 Docker使用了五种命名空间: PID(Process ID) 进程隔离 NET(Network) 网络接口管理 IPC(InterProcess Communication) 跨进程通信访问管理 MNT(Mount) 管理挂载点 UTS(Unix Timesharing System) 隔离内核和版本标识 这些隔离的资源使用CGroups进行管理。 (2)Controlgroups控制组: CGroups是Linux内核提供的可以限制、记录、隔离进程组所使用的物理资源的机制。由Google的工程师提出。在2004年整合进入Linux kernel 2.6.24。 CGroups提供的功能: 资源限制 优先级设定 资源计量 资源控制 CGroups赋予Docker的能力: 文件系统的隔离:每个Docker容器都有自己的rootfs 进程隔离:每个容器都运行在自己的进程环境中 网络隔离:容器间的虚拟接口和IP地址都是分开的 资源隔离和分组:使用CGroups将CPU和内存之类的资源独立分配给每个Docker容器。 本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/1982394

优秀的个人博客,低调大师

android 基础框架依赖库

AndroidBaseModule android base module project 基础的Android开发依赖包,独立出来主要是为了持续更新,方便多个项目同时使用,同步更新;同时使工程结构更加简洁。 使用方式 1) 新工程建议直接下载AndroidMouldProject,修改包名后在此基础上开发; or 2) Add Library module as a dependency in your build.gradle file. Add the dependency dependencies { compile 'com.github.BrillantZhao:AndroidBaseModule:1.1.2.48' } 项目结构 用到的第三方库 //=== butterKnife (https://github.com/JakeWharton/butterknife) "butterknife" : "com.jakewharton:butterknife:${butterKnifeVersion}", "butterknife-compiler" : "com.jakewharton:butterknife-compiler:${butterKnifeVersion}", //=== rxjava(https://github.com/ReactiveX/RxJava) "rxjava" : "io.reactivex:rxjava:${rxjavaVersion}", //=== rxandroid(https://github.com/ReactiveX/RxAndroid) "rxandroid" : "io.reactivex:rxandroid:${rxandroidVersion}", //=== AndroidUtilCode (https://github.com/Blankj/AndroidUtilCode) "utilcode" : "com.blankj:utilcode:${utilcodeVersion}", //=== RxLifecycle (https://github.com/trello/RxLifecycle) "rxlifecycle" : "com.trello:rxlifecycle:${rxlifecycleVersion}", "rxlifecycle-android" : "com.trello:rxlifecycle-android:${rxlifecycleVersion}", "rxlifecycle-components": "com.trello:rxlifecycle-components:${rxlifecycleVersion}", "rxlifecycle-navi" : "com.trello:rxlifecycle-navi:${rxlifecycleVersion}", "rxlifecycle-kotlin" : "com.trello:rxlifecycle-kotlin:${rxlifecycleVersion}", //=== glide (https://github.com/bumptech/glide) "glide" : "com.github.bumptech.glide:glide:${glideVersion}", //=== hawk (https://github.com/orhanobut/hawk) "hawk" : "com.orhanobut:hawk:${hawkVersion}", //=== fastjson (https://github.com/alibaba/fastjson) "fastjson" : "com.alibaba:fastjson:${fastjsonVersion}" API ### base相关→最底层的继承 IBaseActivity : "", IBaseApplication : "", IBaseFragment : "", IBaseFragmentAdapter : "", IBaseFragmentStateAdapter: "", IBaseModel : "", IBasePresenter : "", IBaseView : "", ### baseapp相关→应用的一些基本工具类 AppException: "异常记录与处理", AppManager : "activity管理工具", BaseRespose : "网络请求基础返回", ### baserx相关→rx底层处理 RxBus : "", RxCache : "", RxHelper : "", RxManager : "", RxSchedulers : "", RxSubscriber : "", ServerException: "", ### local相关→数据存储 SharedPrefUtils: "sharedPreference数据存储", ### notes相关→说明文档 Android 代码混淆在AS的实践 Android 使用gradle打包的各种配置 Android 自动化打包实践 gradle打包并推送到git远程库 Android开发之版本统一规范 GitSubmodule 神注释大全 ### utils相关→自定义的工具类 ACache : "", CollectionUtils : "", DialogPermissionUtil : "", DisplayUtil : "", FormatUtil : "", GlideCircleTransfromUtil: "", GlideRoundTransformUtil : "", ImageLoaderUtils : "", IpUtils : "", JsonConvertHelper : "", MeasureUtils : "", NetWorkUtils : "", RxCountDown : "", SDCardUtils : "", TimeUtil : "", TUtil : "", ### widget相关→自定义的控件 NoScrollGridView : "", NoScrollListview : "", OnDoubleClickListener : "", OnNoDoubleClickListener: "", 详细介绍 参见 AndroidBaseModule,工程地址为:https://github.com/BrillantZhao/AndroidBaseModule 参见 AndroidMouldProject(常规的MVP结构),工程地址为:https://github.com/BrillantZhao/AndroidMouldProject 参见 AndroidMouldProject(组件化的MVP结构,建议使用),工程地址为:https://github.com/BrillantZhao/AndroidMouldProject2

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册