Android开发实战
文章平均质量分 72
yypccc
暂无
展开
-
Android富文本编辑器
Android富文本编辑器,一款支持撤销、加粗、斜体、下划线、有序无序列表、对齐、改文字大小、改文字颜色、插入图片、插入视频等功能,并且可设置cookie,自定义素材操作菜单的的编辑器。github地址:https://github.com/yeaper/RichEditor1.控件使用RichEditor是富文本编辑器,EditorOpMenuView是操作栏控件,两个需要配合使用,xm...原创 2020-02-17 11:45:52 · 3126 阅读 · 1 评论 -
基于Socket编程的远程控制PC音乐播放器App(一)
整个系统基于Socket编程,完成了Java和C/C++的数据通信,服务器端使用select模型,实现多路复用,客户端将Socket相关操作封装为线程类,便于调用。源码地址:一、 整体概述客户端:采用Java编写服务器端:采用C/C++编写功能:1、在同一局域网下,登录、退出App2、获取服务器(PC)的音乐列表3、通过App远程控制PC播放原创 2017-02-03 16:44:03 · 2468 阅读 · 0 评论 -
基于Socket编程的远程控制PC音乐播放器App(二)
三、客户端具体的布局文件就不细说了,可以看源码,这里主要列出主要实现代码。1、网络字节转换工具类(重要)要想实现Java和C/C++的通信,客户端得先把数据全部转换为byte数组,int、float、double类型的转换必须进行特殊处理,这里只封装了int、String的转换,其他可根据需要自行封装。public class NetDataTransformU原创 2017-02-03 17:44:11 · 1052 阅读 · 0 评论 -
利用CardView,使Picasso加载圆角图片
一、去除CardView的阴影参考博客:http://blog.csdn.net/aheeyiqi/article/details/51064454正如CardView的阴影属性,绝大部分时候都是需要的,但是有时候纯粹当作ListView使用则不希望显示阴影,该怎么办呢?1、首先,设置阴影属性app:cardElevation="0px" //阴影大小app:ca原创 2017-03-08 15:37:36 · 1529 阅读 · 0 评论 -
使用ImageView、TextView实现底部导航栏,图标不能居中
因项目需要,所要实现的效果为:点击后的Tab显示图标和文字,未点击的Tab只显示图标,并且居中。1、问题:图标不能居中,布局如下:<LinearLayout android:id="@+id/focusBottomBar"原创 2017-03-11 21:19:23 · 736 阅读 · 0 评论 -
Android图片预览功能(可旋转、缩放、左右切换)
我们要实现的效果1、点击图片出现预览界面2、可对图片进行旋转、缩放3、能左右滑动,预览其他图片4、单击预览界面后,回到上一界面具体如下图: 使用到的第三方库1、图片加载缓存库 Picasso:https://github.com/square/picasso2、图片浏览缩放控件 PhotoView:https://git原创 2017-03-12 20:05:52 · 13119 阅读 · 0 评论 -
Viewpager+Fragment滑动卡顿,报ANR错误 (setUserVisibleHint的使用)
1、问题(1)我们通常会设置 Viewpager 的预加载页数,setOffscreenPageLimit(),但是一次加载的页面太多,就会出现渲染器被阻塞,要么卡顿,要么直接 ANR(2)但是,设置的预加载页面太少,每滑动一次,该页面就会重新加载,有的页面数据很多,重新加载起来就很慢,直接影响用户体验2、考虑到这两种情况,我们可以这么解决(1)setOffsc原创 2017-04-11 16:07:27 · 1221 阅读 · 0 评论 -
善用搜索引擎--使用Volley上传multipart/form-data数据
学会善用搜索引擎,对我们平时解决一些问题,很有帮助,同时仔细查看别人的解决思路,也容易形成自己的知识体系。现在单就针对一个技术问题,进行搜索解决。问题:如何使用Volley上传二进制数据(要求传递multipart/form-data类型)?解决步骤: 1、提炼关键词:volley、multipart/form-data、post请求、二进制数据2、先搜索post请求我找到了post的四种提交方式原创 2017-04-15 18:54:20 · 2149 阅读 · 1 评论 -
部署war包到阿里云服务器
经过两天的折腾, 终于把 Java web 项目部署到阿里云服务器了。 网上的教程有些太老了,现在整理下新的东西,下面来讲讲踩坑的过程。 配置清单 web 开发软件:Intellij idea 2018 阿里云服务器:Windows 8 MySQL:5.1.6 Tomcat:8.5 一、使用 intellij idea 打包 web 项目1、点击...原创 2018-08-08 18:05:25 · 4723 阅读 · 0 评论 -
ConstraintLayout约束布局——实现左文右图效果
先来看下想要的效果:左文右图,标题最多显示2行,时间和图片底部对齐1、问题说明: 在这个布局中,左边的文字和时间是一个整体,右边的图片是一个整体,让图片只位于文字右侧或者时间右侧都是不对的。(1)图片位于文字右侧:当文字较少时,时间可能会遮挡图片。(2)图片位于时间右侧:当文字较多时,文字可能会遮挡图片。对应代码如下: <android.support.constraint....原创 2018-12-25 15:28:33 · 1840 阅读 · 0 评论 -
ViewPager层叠卡片效果
层叠片卡效果说明通过设置 ViewPager 的 PageTransformer 实现卡片层叠效果,支持左层叠和右层叠两种效果添加依赖1、 主工程 build.gradle 添加仓库地址:allprojects { repositories { ... maven { url 'https://jitpack.io' } }}2、 ...原创 2019-02-21 15:15:05 · 2309 阅读 · 0 评论 -
仿QQ音乐播放界面(已实现主要功能)
源码地址:https://github.com/yeaper/MusicPlayer因项目需要,实现的功能类似QQ音乐播放界面使用 kotlin 代替 Java主要功能:1、播放、暂停音乐2、自动、手动设置进度条,并且同步播放音乐3、开启、暂停、停止匀速旋转的动画先看效果图:1、布局文件<?xml ver...原创 2017-02-20 22:55:35 · 9710 阅读 · 25 评论 -
Android项目实战——注册功能
每款App中必不可少的肯定有注册功能,而且实现的具体方式各有千秋,为了在以后的开发中提供参考,下面就针对我个人项目中的注册功能,做一个大概的记录,其中肯定有不规范的地方,大家可以多提提建议。这个项目的源码地址:https://github.com/yeaper/android_sample/tree/master/Sun为了方便开发,项目使用了Bmob后端云平台,官网:ht原创 2016-08-14 21:32:22 · 5854 阅读 · 2 评论 -
Activity之间返回结果
一 、实现:1、在MainActivity中:1)onCreate()中:Intent intent = new Intent(MainActivity.this,OtherActivity.class);startActivityForResult(intent,0); //startActivityForResult(Intent intent,int requestcode)2)重写onAc原创 2015-10-07 19:12:17 · 578 阅读 · 0 评论 -
Intent的两种具体实现
Intent是一种运行时绑定(RunTime Binding)机制 主要是解决Android应用的各项组件之间的通讯,在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。因为Android强调高聚合低耦合,所以Intent的重要性就不言而喻了。而Intent的实现有两种方式:一 、显式Intent显式Intent的实现又可分为3种:1 、Intent原创 2015-10-06 23:05:06 · 1638 阅读 · 0 评论 -
UI优化
在Android开发中,UI占着举足轻重的位置,做好它的优化是至关重要的。1、layout布局时注意的4点: 1) 尽量不使用LinearLayout,而使用RelativeLayout,因为android:layout_alignWithParentIfMissing只对相对布局有用,如果这个视图设置为gone,这个属性将按照父视图进行调整。 2) 布局中递归太深,会严重影响性能。原创 2015-10-25 14:16:24 · 502 阅读 · 0 评论 -
倒计时器的实现
我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取,为了方便以后使用,这里做个记录,讲讲倒计时器的实现。1、先进行倒计时工具类的封装public class CountDownTimerUtils extends CountDownTimer { private TextView mTextView; /**原创 2016-08-06 14:05:43 · 691 阅读 · 0 评论 -
ViewPager引导页
目前很多软件安装时都会出现引导页面,用户体验很好。下面就来DIY下:因为视频上传很麻烦,所以截图了。首先看看效果图: 点击小点可自由切换,滑动也可以自由切换,最后一个导航页添加了点击跳转。开始实现引导页:一、采集需要的图片放入drawable文件里二、初始化每个导航页的视图import android.app.Activity;import android.content.Intent;imp原创 2015-10-25 17:05:48 · 427 阅读 · 0 评论 -
通过WebView实现JS和本地交互
WebView就是嵌入在Android UI中的浏览器,在应用中,难免要进行JS与本地的交互,下面记录了大致的实现流程。1、实现MainActivity的布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertic原创 2016-08-09 19:00:51 · 625 阅读 · 0 评论 -
Android混淆打包和APK反编译
作为一名Android 开发人员,应用的安全性至关重要,其中,混淆打包是很有效的一种手段,这在一定程度上提高了APK反编译后的代码理解难度,相对而言,APK反编译也可以为开发者提供更好地源码学习资源,这些往往都是相互作用的。一、混淆打包1、在Android 工程的app目录下,新建一个proguard-rules.cfg文件,内容如下,我在网上找到一个混淆的配置原创 2016-08-10 17:39:08 · 681 阅读 · 0 评论 -
Android评论功能的实现
目前,各种App的社区或者用户晒照片、发说说的地方,都提供了评论功能,为了更好地学习,自己把这个功能实现了一下,做了个小的Demo。首先推荐一款实用的插件LayoutCreater,可以帮助开发者自动生成布局代码,具体用法可以去GiHub上看看:GitHub地址:https://github.com/boredream/BorePlugin1、新建一个A原创 2016-08-10 11:33:51 · 24249 阅读 · 12 评论