app

CSDN App产品分析报告

Deadly 提交于 2020-02-21 07:04:25
“成就一亿技术人”,这是CSDN App封面的标语。CSDN网站是一个面向IT技术人员的博客类网站,在互联网时代的背景下,成功获得了大批技术人用户。之后移动端App诞生,沿袭了网站中的大部分核心功能,在IT社区类App中占据相对的主导地位。 本文将就市场、用户、功能、运营等方面对CSDN App进行分析,并产出相应的产品优化方案。 本文将从以下几个方面进行分析: 一.产品功能结构 二.市场分析 三.用户分析 四.功能分析 五.总结 一、CSDN功能结构 1.1 产品架构 CSDNApp 的产品结构如下图。 1.2 用户使用路径 CSDN 中,用户主要有获取信息、生产内容、回复互动三个使用路线。 获取内容: 生产内容: 回复互动: 二、市场分析 2.1 市场概况 CSDN App 是一个面向IT从业人员的专业性PCG社区。其目标用户明确,内容专业性强。 利用原始网站的用户积累,该App在2015年一经发布就获得了相当大数量的准确用户。在App的1.0版本发布时,除了继承原始网站上的传统功能外,最大的亮点就是加入了Blink,即用户动态模块,进入该模块的按钮赫然占据了主页界面的中央位置,并且一直沿用至今,在后续版本中,CSDN一直在对Blink进行改进,陆续新增了点赞列表、支持上传文档、自动保存、匿名发布等功能,这表明了CSDN App想要打造个性化社交的强烈意图。除此之外

Android APP、Android Library和Java Library的区别

亡梦爱人 提交于 2020-02-21 05:50:05
Android App: 最终被编译打包成能在Android设备上运行的APK文件。 Android Library: 含有Android特有的库文件,包含APP所需的一切(如源代码、资源文件、Android Manifest),在目录结构上与 Android App相同。Android Library最终被编译打包成供其它Android App依赖的Android Archive (AAR)文件。 Java Library: 含有java注解类等,最终被编译打包成Java Archive(JAR)文件,它不能打包Android资源文件,但是Android Library不仅能打包Java文件还能打包Android资源文件。 摘自: https://www.jianshu.com/p/ebf4dcd3ddd5 来源: CSDN 作者: qq_41853047 链接: https://blog.csdn.net/qq_41853047/article/details/104417164

前端学习——插槽

时光总嘲笑我的痴心妄想 提交于 2020-02-20 18:09:42
文章目录 一 插槽的简单用法 1.1 用处和用法 1.2 编译作用域 1.3 使用默认内容 二 具名插槽 三 作用域插槽 3.1 解构插槽Prop(?) 四 动态插槽名(?) 五 缩写 5.1 具名插槽的缩写 5.2 默认插槽的缩写 六 示例 #疑问 1. 页面渲染的详细、具体过程 一 插槽的简单用法 1.1 用处和用法 当自定义组件没有 slot 元素的时候,则该标签开始至结束之间的全部内容都会被丢弃。 当使用插槽 slot 的时候,插槽内可以包含任意内容,包括 HTML ,如: < div id = " app " > < my_div > input: < input type = " button " value = " 按钮 " > </ my_div > </ div > new Vue ( { el : '#app' , components : { my_div : { template : ` <div> <slot></slot> </div> ` } } } ) 1.2 编译作用域 重要 :VUE的作用域应该好好整理下 插槽不在标签作用域的范围内,比如这里的 {{message}} 就没有用, VUE 会报错 [Vue warn]: Property or method “message” is not defined on the instance but

移动App设计之分层架构+MVC

こ雲淡風輕ζ 提交于 2020-02-20 07:58:40
场景分析: 我们知道,一个移动设备的应用大多与网络有关,也就是说,我在移动设备上看到的数据,一般都是从Server上”拉“过来,显示在我们的移动设备(ios androiud、wpohone等)上。那我们就这个”拉“的过程分析,拉什么样的数据?去哪里拉?拉过来的数据怎么处理?用编程(开发)的思维看,就是定义什么实体(业务实体)、发送请求、解析数据。当然这也只是大体的过程。但从软件架构设计上讲,定义实体、发送请求、解析数据都是具有单独意义的模块。那我们怎么处理这些模块呢? 场景应用: sina weibo。定义timeline、user等实体;请求最新的微薄等;处理(主要是解析)请求的数据;最后是显示在移动设备的UI上。 回到前面的问题,我们该如何处理这个具有单独意义的模块呢?让我们借鉴下web的设计: 在传统的web系统设计中,数据库的访问、业务逻辑和UI设计混淆在一起,这样虽然直观,但一旦需求有所改动,对日后的维护带来很多不便。为了解决这个问题,人们提出了分层的架构思想。 分层架构模式:   " 将解决方案的组件分隔到不同的层中,每一层中的组件应保持内聚性,各层保持松散耦合。" 分层模式是最常见的一种架构模式。在web应用系统开发中,比较流行三层架构(表现层、业务逻辑层、数据访问层),当然我们细分,也可以分层多层(我记得那时候我分七层)。   现时隔多年

Android源码编译App Android.mk出现无法import aidl AIDL的接口找不到cannot import

扶醉桌前 提交于 2020-02-19 10:39:05
Android.mk添加以下内容即可 LOCAL_SRC_FILES := $(call all-java-files-under,app/src/main/java) LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app/src/main/aidl/android/os) LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app/src/main/aidl) LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app) LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/app/src/main/aidl/android/os LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/app/src/main/aidl 来源: CSDN 作者: 镇上村树 链接: https://blog.csdn.net/realDonaldTrump/article/details/104374430

Android Studio3.2在app出现红叉,run报错 Warning: Default Activity not found

喜夏-厌秋 提交于 2020-02-19 07:53:21
Android Studio3.2在app出现红叉,run报错 Warning: Default Activity not found 场景:新建工程的时候没有选择empty activity,而是选择了Add No Activity。 现象:Android Studio3.2在app出现红叉,run报错 Warning: Default Activity not found 解决方案:在AndroidManifest.XML文件中<Activity></activity>标签对中添加内容,即: <activity android:name=".FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>即可解决上述问题。 来源: https://www.cnblogs.com/Wesley00/p/10878598.html

AndroidDev站点推荐-zz

橙三吉。 提交于 2020-02-19 07:52:38
Android-Dev-Bookmarks 项目目前可以生成书签文件导入到浏览器中了, ADB 站点上的内容也是一样的,方便在线浏览。现在内容更新开始按期发布同时也会有个简短的介绍,内容逐渐增多比较难直接看出站点的主要内容,过一遍介绍也可以留个印象。 下面是这期更新的内容: ADB-Issue#1 ADB 站点主页: adb.rocko.xyz GitHub 项目主页: Android-Dev-Bookmarks 点我订阅每期更新 点我下载书签文件导入浏览器 官方资料 博客 Google testing blog - Google 测试团队博客,发布一些 Google Testing 的新闻和更新。 文档 Google Java Style - Google Java 编码规范文档 High-Performance Audio on Android - 创建高性能的音频应用,一些开发向导、相关资料链接、代码示例。 代码-库 开源 App Open-Source Android Apps - GitHub 上的项目,收集优秀的开源 App,分类详细内容多。 各种库 libtastic - 通过流行的应用来发现 Top Android libraries,支持应用搜索。 AppBrain - AppBrain 上分析的库使用排行。 服务平台 测试 TestBird - TestBird

Appium Server 传递的基本参数

放肆的年华 提交于 2020-02-19 04:07:56
Appium Server 传递的基本参数 官方列表 Appium server capabilities Capability Description Values automationName Which automation engine to use Appium (default) or Selendroid platformName Which mobile OS platform to use iOS , Android , or FirefoxOS platformVersion Mobile OS version e.g., 7.1 , 4.4 deviceName The kind of mobile device or emulator to use iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 , etc…. On iOS, this should be one of the valid devices returned by instruments with instruments -s devices . On Android this capability is currently ignored. app The

JavaScript 环境污染

左心房为你撑大大i 提交于 2020-02-18 21:39:18
定义全局变量有 3 种方式: 在任何函数体外直接使用 var 语句声明。 var f = 'value1'; 直接添加属性到全局对象上。在 Web 浏览器中,全局作用域对象为 window。 window.f = 'value'; 直接使用未经声明的变量,以这种方式定义的全局变量被称为隐式的全局变量。 f = 'value' ; 全局变量在全局作用域内都是可见的,因此具有污染性。大量使用全局变量会降低程序的可靠性,用户应该避免使用全局变量。 减少使用全局变量有两种方式,示例如下: 示例1 在脚本中创建一个全局变量,作为当前应用的唯一接口,然后通过对象直接量的形式包含所有应用程序变量。 var MyAPP = {}; //定义 APP 访问接口 MyAPP.name = { //定义APP配置变量 "id" : "应用程序的ID编号" }; MyAPP.work = { num : 123, //APP计数器等内部属性 sub : { name : "sub_id"}, //APP应用分支 doing : function(){ //具体方法 //执行代码 } }; 把应用程序的所有变量都追加在该唯一名称空间下,降低与其他应用程序相互冲突的概率,应用程序也会变得更容易阅读。 示例2 使用函数体封装应用程序,这是最常用的一种方法。 (function(window){ var