- 博客(247)
- 资源 (23)
- 收藏
- 关注
原创 ConstraintSet实现ConstraintLayout动画切换
ConstraintSet初始化方式//Manuallyc = new ConstraintSet(); c.connect(....);//from a R.layout.* objectc.clone(context, R.layout.layout1);//from a ConstraintLayoutc.clone(clayout);折叠布局<?xml version="1.0" encoding="utf-8"?><androidx.con...
2021-01-31 18:56:10
843
原创 Android项目Gradle配置管理
Android Studio采用Gradle进行项目构建,Gradle是一个开源构建自动化工具。Gradle构建脚本是使用Groovy和Kotlin DSL编写的。这篇文章主要介绍Android项目中build.gradle配置以及如何定义自己项目的build.gradle内容。build.gradle内容说明config.gradle统一配置管理通常一个项目有多个模块(moudle),每个模块都有一个build.gradle...
2021-01-31 12:20:39
620
1
原创 设置PreferenceFragment主题
整个项目主题颜色暗色,在使用PreferenceFragmentCompat文字也是黑色的导致看不清楚,采取更改PreferenceFragmentCompat主题实现,效果如下:查看PreferenceFragmentCompat源码看到onCreate开始设置Theme,先获取preferenceTheme获取不到采用默认PreferenceThemeOverlay项目中调用R.style.MyFragmentTheme内容,其他需要更改的直接添加...
2021-01-17 01:45:55
790
原创 Android依赖注入-Hilt
1、基本概念依赖根据需求方和提供方的作用关系分为类依赖(直接依赖或强依赖)、方法依赖(间接依赖)、成员依赖(待定类型依赖) 依赖注入(DI)将依赖关系传递给其他对象或框架,其中方法依赖就是依赖注入,在Android中有两种主要的依赖注入方式分别是构造函数注入和字段注入(setter注入)依赖注入方式:(1)人工依赖注入:人工编写大量样板代码(2)自动依赖注入:通过库自动执行创建和提供依赖,它们归来两类分别是基于反...
2020-12-26 23:03:08
1201
2
原创 资源导致部分机型的兼容问题--安卓
之前项目sdk在做兼容性测试过程中遇到Java Runtime error: java.lang.StackOverflowError, Process: com.xxxx.demo, PID: 31470, Line: 1860,这种问题的诱因很多,再查看错误堆栈信息#2076 07-09 13:18:23.786 13970 E AndroidRuntime FATAL EXC
2016-07-23 11:07:24
2608
原创 Html5 Checkbox多种状态切换
最近在搞一个权限配置的页面,里面的选项框要实现级联,同时checkbox需要有三种状态:选择,部分选择,不选,搜索找到一篇文章jQuery 版的 CheckBox 复选框成组联动(性能改进版)不过我在浏览器上测试有问题,进行修改代码如下: 全选 选项1 选项2 选项n 对选中的项目进行操作 $("#ww
2016-06-07 17:07:42
9296
原创 使用TypedArray设置控件大小注意问题
在编写自定义控件的时候,由于我的控件全部采用的是代码编写界面,在通过TypeArray获取文字大小的时候,界面显示的与设置的明显不一样,具体的图片演示我就不贴图可以查看http://blog.youkuaiyun.com/yangzl2008/article/details/7879019?utm_source=tuicool&utm_medium=referral ,这个也是描述一样的问题,但是没有给出解决
2016-03-31 11:27:24
2175
原创 IOS 获取设备本地音视频
1、检索音视频PHFetchOptions *allPhotosOptions;@property (nonatomic, strong) PHFetchResult *assetsFetchResults;if (allPhotosOptions == nil) { allPhotosOptions = [[PHFetchOptions alloc] init];
2016-03-13 22:09:46
5962
原创 安卓APK瘦身
之前打包的时候直接就用eclipse或者android studio直接生成签名文件,并没有关心大小问题,最近有人问我有没有对APK进行瘦身,对这方面内容一致没有关注过,今天试用了各种方式把项目签名apk减少了1/4大小,这样对用户节省了流量。1、APK文件分析APK是Android的安装包。APK文件其实是zip格式,但是后缀被修改为apk,我们可以直接解压目录如下:分析一下各个内容的作用查看文
2015-12-29 16:22:01
4835
1
原创 Android处理日期
最近做一个项目,后台返回的日期是RFC3339格式的,之前没有看到过,其中遇到了几个问题以及解决1、2015-11-18T14:49:55Z转换在SimpleDateFormat中给出了几种格式 yyyy-MM-dd 1969-12-31 * yyyy-MM-dd 1970-01-01 * yyyy-MM-dd
2015-12-15 10:26:23
2553
2
原创 JS请求服务器gbk文件乱码问题
JS获取服务器编码格式为gb2312的文件时内容为乱码,ajax网络请求内部使用的是XMLHttpRequest,所以在请求之前需要设置一下编码格式,但是设置xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");没有效果,只有设置xhr.overrideMimeType("text/csv;charset=gb2312");才正
2015-10-15 22:07:53
3172
原创 WebView显示CSV
项目中IOS显示xls和xlsx很容易,使用下面代码就可以,但是安卓比较麻烦,为了统一处理,选择excel保存csv来解析显示表格。//https://developer.apple.com/library/ios/qa/qa1630/_index.html func loadDocument(documentName:String, webView:UIWebView) {
2015-10-15 17:32:11
2789
原创 React Native -- The Life-Cycle of a Composite Component
/** * ------------------ The Life-Cycle of a Composite Component ------------------ * * - constructor: Initialization of state. The instance is now retained. * - componentWillMount * - render
2015-10-09 16:55:39
3487
原创 React Native -- StyleSheet
StyleSheet样式表来渲染组件的样式,源码如下: /* Code quality: * * - By moving styles away from the render function, you're making the code * easier to understand. * - Naming the styles is a good way to add mean
2015-10-09 13:50:47
4683
原创 React Native -- Flexbox
1、alignItems enum('flex-start', 'flex-end', 'center', 'stretch')源码描述// How to align children in the cross direction // https://developer.mozilla.org/en-US/docs/Web/CSS/align-items alignItems: Reac
2015-09-28 16:41:10
7463
1
原创 Android发送邮件
项目中有些关键日志需要从客户手中拿到,为了方便的收集日志在客户端中加入邮件发送功能(虽然使用分享功能也能发送邮件,前提需要客户登录手机的邮箱才行,比较麻烦,而且还进入页面,用户体验不太好)。主要实现了发送邮件,抄送,发送附件功能先看一下效果图:涉及到3个jar以及封装的接口JEmailHelper.javapackage jwzhangjie.com.javaemail;import andr
2015-08-31 23:01:54
4724
原创 IOS强制屏幕横竖屏相互切换
最近项目要做一个html5电子协议,里面涉及到签名,竖屏签名不够,所以需要把屏幕切换到横屏,签完字后把签字内容返回到竖屏中的方框内,由于项目不上AppStore,只用企业证书打包,所以使用下面方式来实现横竖屏切换功能。bool isPortrait = true;- (IBAction)changeOri:(id)sender { if (isPortrait) { if
2015-08-25 23:59:32
7457
原创 Android与JS互相调用以及注意
最近项目中经常使用Html5而Android与JS调用经常会用到,这里记录一下,测试系统5.0以上。这里先贴一下源码Activity:package jwzhangjie.com.webviewandjs;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android
2015-08-18 20:07:53
2552
原创 使用AccessibilityService实现微信自动抢红包
最近要实现微信自动抢红包的功能,使用AccessibilityService来开发,这里主要写一下逻辑以及注意点。注意点1、搜索关键字我们实现某个功能比如点击等需要找到对应的对象然后模拟点击事件,所以首先就是怎么样找到对象,下面说三种方式:(1)findAccessibilityNodeInfosByText通过文字来实现查找,返回的是List,所以需要通过for循环来具体判断需要的关键字的对象(
2015-08-02 11:39:14
39248
2
原创 IOS使用Charts
最近项目中要做图表功能,为了减少开发量采用的是H5+ECharts来做,这里说一下IOS中如何使用ECharts以及遇到的问题。网络模块化单文件引入 IOS使用Charts require.config({ paths: { echarts: 'http://echarts.baidu.com/build/dist'
2015-07-22 20:56:23
9160
原创 OC与JS互相调用
最近项目中要用到html5来实现,涉及到OC调用JS,以及JS调用OC的方法,这里把遇到的问题以及实现方法介绍一下。//// ViewController.h// OC_And_JS//// Created by 张杰 on 15/7/9.// Copyright © 2015年 张杰. All rights reserved.//#import @interface
2015-07-10 00:27:14
31042
原创 Swift2.0 类基础知识
类类属性//// SomeClass.swift// SwiftClass//// Created by 张杰 on 15/6/17.// Copyright © 2015年 张杰. All rights reserved.//import Foundationclass SomeClass{ //存储属性 var value1 = 1; var
2015-06-18 21:33:41
1383
原创 IOS对日期进行排序
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"2019/03/01/",@"2013/03/02",@"2013/03/07",@"2014/03/01/", [NSNull null], nil]; array = (NSMutableArray *)[array sortedArrayUsi
2015-06-16 17:17:40
3719
原创 Echoprint系列--Android编译与调用
在Echoprint系列--编译中编译了源码,这次将Echoprint移植到Android平台并测试识别歌曲功能。一、编译库1、环境准备Android NDK,我的是android-ndk-r10e修改源码,把src中的.cxx的文件重命名为.cpp,把src目录重命名为jniBoost源码,在PC上编译的时候也安装boost的,我的时boost_1_58_0,拷贝到jni目录2、编写编译配置文件
2015-06-10 15:04:20
2980
1
原创 Echoprint系列--编译
最近要做一个音乐相关的客户端,其中一个功能是音乐识别,搜索了一些资料选择Echoprint来开发,Echoprint是开源免费的,而且多种客户端都支持能节约很多时间,今天主要下载和编译源码以及测试。(备注:我的开发环境是Mac,所以下面以及之后都是Mac的环境)1、官网官网地址:http://echoprint.me2、安装依赖环境首先安装HomeBrew安装依赖库 brew install ff
2015-06-09 13:48:42
5640
转载 Enable Geolocation in a WebView (Android)
HTML5 Geolocation lets you access the browser’s location information from Javascript. For a quick demo, visit google.com in a mobile browser and observe your location at the bottom of the page. Geoloc
2015-06-01 19:48:24
7929
原创 HTTP协议基础
报文组成方式起始行(start line);包含属性的首部(header)块;可选的、包含数据的主体(body)部分。报文的语法请求报文(request message) 响应报文(response message) 方法GETGET是最常用的方法,通常用于请求服务器发送某个资源。HEADHEAD方法和GET方法的行为类似,但服务器在响应中只返回首部。不会返回实体的主体部分。这就允许客户端在未
2015-05-31 14:54:32
1812
原创 IOS友盟统计Bug追踪
项目开发之初安卓和IOS都是使用Bugly来统计bug的后期IOS上线过程中被退回提示一个关于Bugly的upload的一个方法冲突,然后IOS就改用友盟的,不过比较头疼的是捕获的IOS问题并不像安卓一样能够清晰,只显示内存地址,前期没有经验导致IOS打包人员没有保存xcarchive文件,也就无法定位了。最新的版本上线了让其发给我当前版本的xcarchive来定位分析bug,在网上搜索了一下,使
2015-05-27 10:09:26
12695
原创 将Eclipse项目迁移到Android Studio中
最近一段时间调试的时候Eclipse总是出现无响应问题,重启了N遍,不仅耽误工作而且还心烦,所以这两天把项目从Eclipse中迁移到Android Studio中,这里记录一下操作步骤以及遇到的各种问题。1、SDK升级首先将ADT插件升级到最新的,最低也要22.02、从Eclipse导出项目首先在Eclipse中选择要导出的项目,右键选择"Export...",打开Android文件夹,选中"Ge
2015-05-16 12:04:51
12523
原创 IOS 开发上传管理器
由于项目需要整合多处的上传功能,涉及到的主要有数据库(FMDB),多线程()1、新建项目,下载依赖库首先新建一个项目这里命名为UploadManager,项目依赖库采用CocoaPods来管理所以在终端进入UploadManager项目中,输入pod init这时会看到项目中多了一个文件Podfile,然后打开它,其内容如下:# Uncomment this line to define a gl
2015-05-15 00:26:32
2694
原创 Swift自定义控件--输入框
在开发安卓项目的时候经常对于常用的功能进行封装成控件来使用,一个是减少代码量,另一个看起来简洁,而对于苹果开发也喜欢封装成控件,然后再storyboard里面拖拽,对于IOS开发自己属于菜鸟级别所以代码质量不是很高,如果那里有问题,请指出,这里记录一个是备忘另一个希望多多交流。 这篇是自定义输入框,输入框在项目中经常用到,最常见的比如左边是label右边是textfield,效果图如下:代码如下/
2015-03-21 22:51:39
7756
原创 ScrollView在RelativeLayout失效问题
今天在做项目的时候,在ScrollView要在ScrollView下方添加一个按钮,我选择RelativeLayout作为父布局,但是加上去之后,导致ScrollView中只显示第一个子View,这种问题一般是在ScrollView嵌套ListView时候,ListView只显示第一个子View,同时存在两个以上的滚动时候出现,查了资料解决方法是将ScrollView的布局使用标签来替换
2015-03-15 01:55:30
5609
原创 Swift基础 - - StoryBoard间切换与UIScrollView控件实现图片轮播
界面切换在项目中可以把耦合度比较高的界面放在通过一个StoryBoard中,可以按照功能使用多个StoryBoard搭建界面,这样便于项目维护以及多人开发,对于多个StoryBoard间切换,可以使用以下代码:@IBAction func ChangeOne(sender: UIButton) { var oneStoryBoard:UIStoryboard = UIStorybo
2015-02-06 14:56:39
9536
1
原创 Android高德地图使用
在Swift基础 - - 高德地图实践(一)中使用swift来使用高德地图,这里使用Android实践高德地图包含定位,移动地图动画,获取网络数据,marker标记以及点击,Infowindow自定义界面以及点击,以及点击无marker地图上面隐藏infowindow等功能。直接看代码package com.carmap.ui;import android.graphics.Color;im
2015-01-26 12:54:34
72694
3
原创 Swift基础 - - 高德地图实践(一)
高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription。高德地图的库以及依赖库加入到项目里面需要的库如下截图:添加头文件具体的方式见Swift基础--调用第三
2015-01-25 09:03:41
14805
原创 安卓项目搭建以及实际开发经验
快年底了,利用这两个月把工作四年的安卓内容整理出来,后续会持续添加工作中常用的内容以及实际开发中遇到问题以及解决方案,可以说是一个大杂烩,也欢迎提交共同丰富内容。地址:https://github.com/jwzhangjie/AndJie添加通用的带有删除功能的编辑框jwzhangjie authored 4 minutes agoc70fdd3 添加自定义的通用标题栏,以及使用jwzhangj
2014-12-07 11:45:04
3310
1
原创 Swift基础--调用第三方OC项目
Swift与OC进行混编,首先要有一个.h文件,这里使用Bridging-Header.h然后设置项目的Build Settings--Swift Compiler--Objective-C Bridging Header内容为DemoApp/Bridging-Header.h,这个与Bridging-Header.h位置有关,从项目的根目录开始在Objective-C Bridging Header选项里面写入Bridging-Header.h相对路径。
2014-10-24 08:04:10
21758
原创 Web调用安卓,苹果手机摄像头,本地图片和文件
由于要给一个客户做一个记账WAP,里面有调用手机拍照功能,这里记录一下,以供需要的朋友,下面是完整的一个HTML页面内容,放在服务器上然后浏览就可以了,只支持Chrome和Safari核的浏览器,我测试过QQ浏览器,Chrome,Safari浏览器都可以。在不同的手机和浏览器上面展现的方式不一样。
2014-10-23 09:40:25
86387
29
原创 Swift基础--ijkplayer编译
这篇与Swift基本上没有什么关系,不过之后会用到,这次编译是使用Mac编译IOS版本的,下面是编译流程,最后是整个项目的下载地址,因为下载太慢了。1、下载源码git clone https://github.com/bbcallen/ijkplayer.git 2、编译cd ijkplayer-ios-stable./init-ios.sh//这里下载依赖包./compile-ffmpeg.s
2014-10-19 21:58:46
5413
原创 Swift基础--使用TableViewController自定义列表
首先建立一个swift项目,把storyboard的内容删掉,添加一个Navigation Controller,然后设置storyboard对应界面的class,在Navigation Controller界面设置View Controller的is initial View Controller,这里使用的自定义列表内容,所以要新建一个继承UITableViewCell的类,然后设置story
2014-10-18 23:41:42
47911
自定义FragmentTabHost
2014-06-27
CSipSimple
2013-10-25
关于Activity和Task的设计思路和方法.pdf
2013-10-15
SDL1.3源码
2013-06-17
TCL相关资料
2012-05-18
android动态设置日期时间源代码
2011-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人