<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Steffen的专栏]]></title><description><![CDATA[技术源于积累，成功源于执着]]></description><link>https://blog.youkuaiyun.com/walker02</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; walker02]]></copyright><item><title><![CDATA[揭秘字节跳动 AI 产品版图探索过程]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/136715065</link><guid>https://blog.youkuaiyun.com/walker02/article/details/136715065</guid><author>walker02</author><pubDate>Thu, 14 Mar 2024 16:46:10 +0800</pubDate><description><![CDATA[从他们的分享过程中不难发现，走在前台的都是光鲜亮丽的，背后的逻辑都是一点点踩坑起来的，像炼丹一样，要深入客户场景，和客户泡在一起，短短半年时间，大模型已经演化出很多垂直类产品，看样子行业大佬预测的2024年会出现一些爆款产品，也一定能出来。字节跳动在这一轮的大模型中一直保持着非常低调的状态，用他们的人说，就是总觉得自己做的还不够好，就没有对外部宣传，这个确实非常符合他们内部的一些做事风格，字节的人一直在卷文档，非常想看下他们的文档关于大模型都在讨论什么。：汇总不同系统数据，报表统一化展示，文本转可视化；]]></description><category></category></item><item><title><![CDATA[【简单项目框架一】Fragment实现的底部导航]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/11881621</link><guid>https://blog.youkuaiyun.com/walker02/article/details/11881621</guid><author>walker02</author><pubDate>Sat, 21 Sep 2013 23:23:19 +0800</pubDate><description><![CDATA[流行的应用的导航一般分为两种，一种是底部导航，一种是侧边栏。
我所做的项目涉及到比较多的是底部导航，今天我就把项目中使用的一种实现方式分享一下。
主要实现思路是：在一个Activity里面底部添加四个按键，上边通过切换不同的Fragment来实现。
首先在activity_main.xml
实现一个底部布局


   <RelativeLayout
        android:i]]></description><category></category></item><item><title><![CDATA[Http Post发送json序列请求（json序列化和反序列化）]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/9021725</link><guid>https://blog.youkuaiyun.com/walker02/article/details/9021725</guid><author>walker02</author><pubDate>Tue, 04 Jun 2013 21:00:59 +0800</pubDate><description><![CDATA[项目中竟然遇到了这样的问题，要求客户端请求的方式为：参数按照json序列化，然后使用post方式传递给服务器。第一次看到这个东东有点一头雾水，刚开始开发的时候全部使用的get请求方式，因为当时公司不考虑数据安全问题。后来使用了post方式，使用到了session。这下倒好接触了序列化json，然后post方式提交。
首先需要引用谷歌的gson.jar文件，这里面有一些序列化参数的方法，我用到的比]]></description><category></category></item><item><title><![CDATA[Android优秀开源项目]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8838598</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8838598</guid><author>walker02</author><pubDate>Tue, 23 Apr 2013 10:47:43 +0800</pubDate><description><![CDATA[Android经典的开源项目其实非常多，但是国内的博客总是拿着N年前的一篇复制来复制去，实在是不利于新手学习。

今天爬爬把自己熟悉的一些开源项目整理起来，希望能对Android开发同学们有所帮助。另外，如果你有比较好的项目推荐，也烦请在评论里分享出来，我会定期更新博客内容。

项目篇：


Apollo音乐播放器：就一个播放器，但是实现的很好
oschina客户端：oschina]]></description><category></category></item><item><title><![CDATA[Android中ProgressDialog对话框点击消失]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8752257</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8752257</guid><author>walker02</author><pubDate>Tue, 02 Apr 2013 17:02:35 +0800</pubDate><description><![CDATA[Android低版本里，默认情况，点击对话框以外的部分对话框不消失，但是在Android高版本里，默认情况，点击对话框以外的部分对话框消失的。这个时候如果你的程序里设置了intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);这个属性就会出现问题，这个属性的介绍官方文档里解释是If
 set, and the activity being launched]]></description><category></category></item><item><title><![CDATA[ClassCastException android.view.viewgroup.$layoutParam]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8593824</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8593824</guid><author>walker02</author><pubDate>Wed, 20 Feb 2013 11:40:34 +0800</pubDate><description><![CDATA[记录一下犯的这个小错误，在写程序的时候，需要动态的去控制一个控件的高度时，设置宽和高出现异常。截取网上一段代码
	TextView txt=new TextView(productlist.this);
    txt.setText(author.get(groupPosition));
    TextView txt1=new TextView(productlist.this);]]></description><category></category></item><item><title><![CDATA[Android中ViewFlipper的使用]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8561292</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8561292</guid><author>walker02</author><pubDate>Thu, 31 Jan 2013 23:01:46 +0800</pubDate><description><![CDATA[看到一个程序员笔记里，有几句标语使用的是自动切换的模式，开始还以为做的是动画，看了源码才知道，使用的是ViewFlipper，在开发文档里，说的是简单的ViewAnimator ，使你添加的View动起来，在同一个时间只有一个View被展示出来，也可以设定好几个View轮流展示。
注意几个特别的设置就可以使用，android:flipInterval="2000"，设置里面每一个View显示的时]]></description><category></category></item><item><title><![CDATA[几行代码看程序员的水平——Android文件命名规范]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8555650</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8555650</guid><author>walker02</author><pubDate>Wed, 30 Jan 2013 12:11:08 +0800</pubDate><description><![CDATA[注：很简略很实用的一点总结：

资源控件命名

仅供参考，只要形成一个统一，见量知其意就可

程序员的水平，看代码规范最直接了。也就是工资的高低和你的代码质量成正比的，养成良好习惯吧！！

(一)  Layout命名

1．contentview命名：activity_功能模块.xml
例如：activity_main.xml、activity_more.xml
2．Dia]]></description><category></category></item><item><title><![CDATA[Fragment实现两栏展示]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8438374</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8438374</guid><author>walker02</author><pubDate>Wed, 26 Dec 2012 13:04:35 +0800</pubDate><description><![CDATA[现在Fragment被使用的也比较多了，官方也在推荐使用Fragment，尤其是平板上开发显得非常的方便，这里我是在手机里展示的，可以先看一下效果图。


实现也是比较的简单，activity的布局文件里，有两个控件，一个是titles，一个是details, titles是通过指定了了对应的F绕过梦来展现的内容，Fragment本身是一个View，有自己的生命周期。这个Demo里点击tit]]></description><category></category></item><item><title><![CDATA[android检测手机是否有某个应用以及启动安装另一个应用的问题]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8240464</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8240464</guid><author>walker02</author><pubDate>Thu, 29 Nov 2012 17:57:48 +0800</pubDate><description><![CDATA[/**
         * 获取所有应用的名称，包名，以及权限 有了包名就可以判断是否有某个应用了
         */
        List list = getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);
        
        StringBuilder stringB]]></description><category></category></item><item><title><![CDATA[解决android有的手机拍照后上传图片被旋转的问题]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8211628</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8211628</guid><author>walker02</author><pubDate>Thu, 22 Nov 2012 12:24:22 +0800</pubDate><description><![CDATA[需求：做仿新浪发微博的项目，能够上传图片还有两外一个项目用到手机拍摄图片，这两个都需要把图片上传到服务器
遇到问题：有的手机拍摄的图片旋转90度，有的图片旋转了180度，有的手机是正常的，服务器要求的是正的，这样问题就来了，不能用户发个照片在微博上看到的是被旋转了的啊，另外一个项目里旋转了的图片直接匹配出现问题，这个更严重。
解决：开始的时候在网上没有找到很好的解决办法，谷歌百度的搜了一通，想]]></description><category></category></item><item><title><![CDATA[Android开发中相当便捷的JSON反序列化实现（含源代码） 连带有handler和进度条功能]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8105936</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8105936</guid><author>walker02</author><pubDate>Wed, 24 Oct 2012 11:20:50 +0800</pubDate><description><![CDATA[在开发的应用程序的过程中，我相信json是使用最多的轻量级的数据交换格式，这里我就不介绍有关json的概念了。主要说明一下有关json反序列化的问题，一般情况下我们解析json都是下边这种方式：

				try {
					jObj = new JSONObject(resultString);
				} catch (JSONException e) {
					// TODO Au]]></description><category></category></item><item><title><![CDATA[Android 关于新浪微博字数的处理]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8059828</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8059828</guid><author>walker02</author><pubDate>Thu, 11 Oct 2012 12:16:14 +0800</pubDate><description><![CDATA[需求：最近在做仿新浪微博的项目，遇到关于文本编辑框内文字的处理问题，时时的监听文本框输入了多少字符，当时没有考虑到输入的内容问题，现在要求是一个汉字 == 两个英文字母，标点符号也区分英文和中文，一个中文标点== 两个英文标点。
解决方式：通过输入文本所占的字节数去判断


封装了一个方法：
	/**
	 * 计算微博内容的长度  1个汉字 == 两个英文字母所占的长度  标点符号区分英]]></description><category></category></item><item><title><![CDATA[开发中遇到的关于时间的处理：设置时间范围大于当前时间小于某一天]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/8059810</link><guid>https://blog.youkuaiyun.com/walker02/article/details/8059810</guid><author>walker02</author><pubDate>Thu, 11 Oct 2012 12:02:27 +0800</pubDate><description><![CDATA[需求：在做类似于微博的android客户端的时候，要求有个定时发微薄功能，时间设置要求：初始化时间大于当前时间两分钟，设置时间不能超过十五天。
解决过程：在网上找了一部分参考资料，发现都不能很好的解决问题，查看了时间的API也没有真正明白用法，据听说java中最让人费解的就是时间处理这块。后来在一个同事的帮助下，找到了思路。
首先：创建一个类继承 OnDateChangedListener O]]></description><category></category></item><item><title><![CDATA[开发中关于Fragment异常的两个问题]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7995407</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7995407</guid><author>walker02</author><pubDate>Wed, 19 Sep 2012 12:46:05 +0800</pubDate><description><![CDATA[下边两个问题，是在开发中碰到的一些关于Fragment的偶发性的问题，今天时间比较多，就在网上搜了一些解决方式：

1、关于Fragment（XXFragment） not attached to Activity 异常。出现该异常，是因为Fragment的还没有Attach到Activity时，调用了如getResource()等，需要上下文Content的函数。解决方法，就是等将调用的代码]]></description><category></category></item><item><title><![CDATA[Android开发带有圆角列表UI布局续]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7970086</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7970086</guid><author>walker02</author><pubDate>Wed, 12 Sep 2012 10:45:08 +0800</pubDate><description><![CDATA[上次一篇博文http://blog.youkuaiyun.com/walker02/article/details/7921547，讲述了一种带有圆角的布局，感觉有些太死板了，没有添加点击效果，在移动端的UI布局有限，所以一般需要有限的空间尽量展示更多的信息，一种情况可以利用四个选项跳转到不同的页面去展示信息，另外一种情况就是当不点击的时候，信息是隐藏的，当你点击的时候信息是展示的，当你再次点击的时候信息再次]]></description><category></category></item><item><title><![CDATA[android开发中系统自带语音模块的使用]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7967643</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7967643</guid><author>walker02</author><pubDate>Tue, 11 Sep 2012 16:26:19 +0800</pubDate><description><![CDATA[需求：项目中需要添加语音搜索模块，增加用户体验
解决过程：在网上搜到语音搜索例子，参考网上代码，加入到了自己的项目，完成产品要求。这个问题很好解决，网上能找到很多的资料，但是没有直接导入工程就能用的例子，我这里写了一个完整的Demo，代码可以直接粘贴到自己项目中去，实现了语音搜索，并将搜索结果展示。
语音搜索大致流程：启动系统自带的Intent，Intent参数设置为RecognizerInt]]></description><category></category></item><item><title><![CDATA[Android 开发中一种蛋疼的UI布局]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7921547</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7921547</guid><author>walker02</author><pubDate>Wed, 29 Aug 2012 19:34:07 +0800</pubDate><description><![CDATA[需求：如下图的一种布局，带有圆角，带有边框，而且颜色的深度呈梯度变化，效果看上去还不错，一般商业软件需要的布局。

解决思路：这种情况和一般的布局是有些不同，想要实现这种方式的布局，确实找了不少的资料，但是效果都不是很好，过程是曲折的，但是问题需要解决，这种方式在在网上不怎么看到，通过搜索圆角、边框、渐变、selector、shape等一些关键词，东拼西凑最后把问题给解决了，达到了产品部门所要]]></description><category></category></item><item><title><![CDATA[Android开发中的一个小功能 清空搜索框的文字]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7917392</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7917392</guid><author>walker02</author><pubDate>Tue, 28 Aug 2012 19:33:29 +0800</pubDate><description><![CDATA[需求：项目中的有关搜索的地方，加上清空文字的功能，目的是为了增加用户体验，使用户删除文本更加快捷
解决过程：开始的时候感觉这个东西不太好实现，主要就是布局的问题，可能是开始顾虑的太多了，再加上当时产品催的不太紧，而且这个功能也不是必须实现的。但是今天不一样了，这个是老大让加上的，说别的很多应用中都有这个功能，没办法那就加上呗，试着去使用了相对布局去实现，把一个删除按键放在编辑框的右上方，当文字的]]></description><category></category></item><item><title><![CDATA[android 一种键盘不能调起的解决方法]]></title><link>https://blog.youkuaiyun.com/walker02/article/details/7876215</link><guid>https://blog.youkuaiyun.com/walker02/article/details/7876215</guid><author>walker02</author><pubDate>Fri, 17 Aug 2012 10:54:59 +0800</pubDate><description><![CDATA[问题：一个页面（附有截图）中含有搜索框和地图，当程序跳转到此页面的时候，进行自动定位并且显示一些指定的信息，但是此时去点击输入框，键盘不会调起。一直没找到原因，可能是当跳转到本页面的时候焦点不能被输入框获得，但是设置的监听又能够执行，想不明白。
尝试解决方案，监听输入框，人为调起键盘，方案一：封装方法 
KeyBoardUtil.showKeyBoard(Activity);	/**
	 *]]></description><category></category></item></channel></rss>