引言
最近不是太忙,花了一些时间学习android的应用开发。经过两个星期的学习,学习的同时还写了很多的demo示例,可以从基本控件及基本动画效果等示例demo集合大放送,持续更新下载。
从这个星期开始,准备拿新浪微博开放平台做个实践,开发一个功能简单的android客户端,会尽可能的完善功能。
今天的内容
上图是这个客户端的主要界面。今天增加的功能。
- 简单的样式和皮肤,只是添加了按钮。
运行的系统是android2.2.
使用到的技术点包括ListView,自定义ListAdapter,多线程相关的Message,Handler,验证相关的OAuth,用户图片的异步加载。
新浪微博的验证使用的是signpost的OAuth组件,没有使用微博的SDK。
源码下载:
SinaWeibo2
源码下载之后,将后缀改为rar,使用压缩软件解压即可。
Style and Themey样式和皮肤
通过样式和皮肤可以美化我们的UI,经过美化的UI会更加吸引用户,至少让我们的应用看起来不至于很丑陋(当然了,也需要合理的样式和皮肤,否则可能会更丑陋)。
样式和皮肤有下面几种使用场景:
1 给一个控件添加独立的样式
- 定义一个样式
<style name="Text">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#00dd9a</item>
</style>
- 然后在布局文件的控件中使用style=""设置样式
<TextView android:text="新浪微博V2" style="@style/Text"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
2 给几个控件添加同种样式
- 定义一个样式
<style name="Text">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#00dd9a</item>
</style>
- 在几个控件中都是用style=""设置样式
<TextView android:text="新浪微博V2" style="@style/Text"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:text="欢迎使用" style="@style/Text"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
3 修改相同种类的控件的样式,例如所有的button的样式,想实现这个效果,有两个方法。
- 方法1:定义一个样式,然后在每个button中使用style属性应用这个样式。
<style name="Button" parent="@android:style/Widget.Button">
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">0</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">0.2</item>
<item name="android:textSize">16dip</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/com_sinaweibo2_list_button_selector</item>
</style>
<Button android:text="Add" android:id="@+id/com_sinaweibo2_list_btnAdd"
style="@style/Button"
android:layout_toRightOf="@id/com_sinaweibo2_list_btnRefresh"
android:layout_height="wrap_content" android:layout_width="wrap_content" />
- 方法2:定义为皮肤,然后再manifest文件中应用在application,或者是activity上。
<style name="Button" parent="@android:style/Widget.Button">
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">0</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">0.2</item>
<item name="android:textSize">16dip</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/com_sinaweibo2_list_button_selector</item>
</style>
<style name="CustomButton" parent="@android:style/Theme.NoTitleBar">
<item name="android:buttonStyle">@style/Button</item>
</style>
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@style/CustomButton">
显然使用第二种的好处是修改样式,甚至是样式的名字,只需要修改style的定义就可以了,不用在使用style的地方修改任何地方。第二种方法中样式的应用范围是一个activity或者是整个application,如果想做某几个button的控制就只能用第一种方法了。
需要注意的地方
如果只是给文字用的话,直接定义一个一个样式就可以了。
如果是给控件用的话,就需要继承一个基类的样式,然后进行自己的修改,要不然控件会只剩下你定义的样式,其他的都没有了,甚至一个button都可能不能点击了,就是因为样式定义的不完整。为了确保定义完整,你需要继承系统的控件样式,然后进行自己的修改。
<item name="android:buttonStyle">@style/Button</item> 中的buttonStyle代表这个样式或者皮肤应用在所有的button上面。每一种控件都有这几的style,例如listViewStyle、textViewStyle等等。可以在系统自带的皮肤中查找。另外样式和皮肤的使用和系统自带的样式也是不错的学习资源。
更多功能
接下来可能会支持的功能:
- 上下文菜单,删除,添加关注,取消关注,查看某个用户的微博等等。
- 发表博文支持图片。
- UI的美化,性能的优化。
总结
学习的过程中看过两本书,Pro.Android.2.pdf和Professional.Android.2.Application.Development.(Wrox,.2010,.0470565527).pdf,都是很不错的入门书籍。书我没有全看完,看完大部分吧,边看边写demo。
同时每天泡论坛http://www.eoeandroid.com/forum.php,eoe的开发者门户。回答问题,解决问题,提出问题,发帖子,总之就是锻炼自己,强迫自己锻炼基础和思考。
在论坛上,有很多的中文pdf教程,但是发现大多都是翻译android developer center的Dev Guide和Resources中的内容。所以觉得,如果英文不是很差,建议直接阅读上面的两个板块,同时练习其中的示例,保证两个星期,你会有很大的进步。
参考资料
http://developer.android.com/index.html
http://www.cnblogs.com/hll2008/archive/2011/01/03/1923674.html
http://open.weibo.com/wiki/Oauth
http://blog.csdn.net/lihenair/article/details/6010026
http://www.cnblogs.com/liangxing/archive/2010/10/19/1855938.html
http://code.google.com/p/oauth-signpost/wiki/GettingStarted
分享到:
相关推荐
从这个星期开始,准备拿新浪微博开放平台做个实践,开发一个功能简单的android客户端,会尽可能的完善功能。 上图是这个客户端的主要界面。今天增加的功能。 1.简单的样式和皮肤,只是添加了按钮。 运行的系统是...
微博是中国最具影响力的社交媒体平台之一,而新浪微博开放平台SDK则是开发者们接入微博服务、构建第三方应用的重要工具。本文将深入探讨这个SDK的核心功能、使用场景以及如何通过它来扩展你的应用程序。 ### SDK...
首先,你需要在新浪微博开放平台上注册并创建一个应用,从而获得AppKey和AppSecret。这两个密钥将在后续的开发过程中被用于身份验证。尽管新浪微博提供了相应的SDK,但本文作者选择直接调用Rest API,避免了SDK可能...
本文将深入探讨“新浪微博开放接口”的相关知识点,结合提供的“weibo_android_sdk-master”文件,帮助你了解如何利用这些接口进行Android客户端的开发。 一、新浪微博开放接口概述 新浪微博开放接口,简称Sina ...
- 本项目通过开发Android版新浪微博客户端,不仅涉及了Android开发的基础知识,还深入探讨了与第三方平台API的集成过程以及UI设计与实现的关键技术点。 - 对于初学者而言,这是一个非常实用的学习案例,不仅可以帮助...
在本文中,我们将深入探讨如何使用Android平台进行新浪微博客户端的开发。这是一项涉及移动应用开发、网络通信以及用户界面设计的综合性任务。首先,我们来理解Android开发的基础知识。 Android是一种开源的操作...
首先,我们要明确,这个开源项目是基于Android平台开发的,主要目标是实现一个功能完善的新浪微博客户端。Android平台以其开放性和灵活性,吸引了大量开发者进行二次开发和创新。通过研究这份源码,我们可以了解到...
"安卓开发-Android新浪微博客户端项目yibo.zip" 这个标题表明我们正在处理一个关于安卓(Android)平台的开发项目,具体来说是实现了一个微博客户端。"yibo"可能是指项目的名称或者开发者的名字,它代表了这个应用的...
在Android平台上开发一款微博客户端,主要是利用Android SDK和微博开放API来实现的。这个项目涉及到的知识点涵盖了Android应用开发的基础到高级技术,包括UI设计、网络通信、数据存储、权限管理等多个方面。以下是对...
标题“Android客户端接入新浪微博”揭示了本主题的核心——在Android应用程序中集成新浪微博的功能,以便用户可以登录、分享内容、互动等。这涉及到Android开发、网络通信、OAuth授权以及社会化媒体API的使用。 ...
本文主要探讨的是基于新浪微博开放平台的Android终端应用的设计与实现,这是计算机科学领域的一个实际项目,涉及移动应用开发和社交网络API的集成。在本文中,作者将详细阐述如何利用Android开发工具和技术来构建一...
在移动互联网领域,社交应用占据着举足轻重的地位,其中新浪微博作为国内知名社交媒体平台,其Android客户端的开发与优化是许多开发者关注的焦点。本篇文章将深入探讨如何构建一个功能完备且用户体验优秀的新浪微博...
乐分享是一个开源新浪微博Android客户端。 目前支持发布文字、图片、拍照等功能。功能简单,源代码开放,供各位Android开发爱好者学习、完善。 依赖项目: 1、新浪微博Api; 2、创新工厂友盟统计服务。
3. **移动应用开发**:考虑到微博的用户群体,大部分第三方客户端可能会是手机应用,采用Android或iOS平台的开发工具,如Android Studio或Xcode,使用Java或Swift编程语言。 4. **UI/UX设计**:第三方客户端往往...
新浪微博开放平台为开发者提供了SDK和API文档,允许开发者接入其服务。注册开发者账号,创建应用后,可以获得API密钥,这些密钥在后续的登录授权和数据请求中至关重要。 在实现登录功能时,我们会使用OAuth 2.0协议...