没有合适的资源?快使用搜索试试~ 我知道了~
android开发新浪微博客户端+完整攻略知识.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 170 浏览量
2022-02-15
16:01:36
上传
评论
收藏 3.24MB PDF 举报
温馨提示
试读
50页
android开发新浪微博客户端+完整攻略知识.pdf
资源推荐
资源详情
资源评论
特别鸣谢本文作者:水的右边为 android 初学者和新手带来如此详细和精彩的文章
另:不要看本文长,耐心看下来会有很大收获。
还:有些人可能说, 版主转帖不能证明实力, 我只能说精力和能力有限。不过黄色网站的版
主也不会去自己拍 A 篇吧 ----- 呵呵纯粹搞笑 废话不多说 看帖吧!
android 开发我的新浪微博客户端 -开篇
开始接触学习 android 已经有 3 个礼拜了, 一直都是对着 android 的 sdk 文档写 Tutorials
从 Hello World 到 Notepad Tutorial 算是初步入门了吧, 刚好最近对微博感兴趣就打算开发个
android 版本的新浪微博客户端作为练手项目 ,并且以随笔的方式详细的记录开发的全过程。
本人对 java 语言以及 eclipse Ide 都是初次应用基本上属于边学边用, 做移动设备上的东西也
是第一次, 总的来说属于无基础、无经验、无天赋的纯三无人员, 还请广大同学们多多给予
指点。
开发第一件事情,那就是开发工具以及环境,我的配置是 Eclipse Helios (3.6.1) +
Adroid2.2 ,具体的环境搭建我就不罗嗦了, google 一下一大堆,光博客园里都能搜到很多
篇了。
开发第二件事情, 既然是开发新浪的微博客户端, 那就先去新浪申请微博账号然后登陆
后到新浪的开放平台,新浪的开放平台提供的新浪微博对外的 api 接口,在我的应用中创建
一个新的应用获取 App Key 和 App Secret,这 2 个值后面会有用到先记录下来。 在新浪的开
放平台中提供了开发文档、 SDK、接口测试工具等, 本人决定直接通过新浪的 Rest Api 进行
开发并不打算使用新浪提供的 SDK, 据说新浪提供的 java 版的 SDK 并不能直接用来进行
android 的开发需要进行一定的修改才能使用,只是听说我没有试过不一定准确。
最后在说一下,我准备分为 UI 和功能两部分分别进行说明讲解,据我自己的情况大部
分的时间都花在的 UI 的设计和实现上了,编码倒反而工作量小多了,所以特别把 UI 部分
分出来讲。
最后还要在说一下, 很抱歉上面内容基本上属于废话没有什么实质内容了但是既然是第
一篇还是得象征性的交代一下,从下篇开始讲具体的内容。
android 开发我的新浪微博客户端 - 载入页面 UI 篇(1.1)
本软件设定用户第一个接触到的功能就是页面载入等待功能, 这个功能对使用者来说就
是一个持续 1、2 秒钟的等待页面,在用户等待的同时程序做一些必要的检查以及数据准备
工作, 载入页面分为 UI 篇和功能篇, 从表及里首先是 UI 的实现, 一个软件除功能之外还得
有一个光鲜的外表也是非常重要的,尽管本人设计水平一般但是还是亲自操刀用 ps 先做了
一下设计效果图如下:
一、接下来的任务就是在 android 中实现这样的效果显示, 从这个效果的设计分别把图
片分成背景、版本号部分、软件名称和图标、作者名称和 blog 四个部分,按照这样的思路
把分别生成 4 张 png 的图片,背景部分考虑实现横屏和竖屏切换额外添加一张横屏背景图,
然后新建 android 工程,我这里的名称为 MySinaWeibo,android 版本勾选 2.2, 并且创建名
为 MainActivity 的 Activity 作为整个软件的起始页面, 然后把上面的这些图片保存到项目
的 res/drawable-mdpi 文件夹下,关于 res 目录下的 drawable-mdpi 、drawable-ldpi, 、
drawable-hdpi 三个文件夹的区别, mdpi 里面主要放中等分辨率的图片 , 如 HVGA (320x480) 。
ldpi 里面主要放低分辨率的图片 , 如 QVGA (240x320) 。 hdpi 里面主要放高分辨率的图片 , 如
WVGA (480x800),FWVGA (480x854)。android 系统会根据机器的分辨率来分别到这几个文件
夹里面去找对应的图片, 在开发程序时为了兼容不同平台不同屏幕, 建议各自文件夹根据需
求均存放不同版本图片,我这里就不进行这么多的考虑了。
二、完成图片资源的准备后接下就是 layout 文件的编写, 在 res/layout 文件夹下新
建 main.xml 文件,这个 layout 采用 LinearLayout 控件作为顶层控件,然后用 ImageView
控件分别实现版本号图片顶部靠左对齐显示、软件名称和图标图片居中对齐、作者名称和
blog 图片底部靠右对齐。注意在版本号图片显示 ImageView 控件下面添加一个
RelativeLayout 控件作为软件名称和图标图片 ImageVIew 和作者名称和 blog 图片
ImageView 的父控件用来控制居中对齐已经底部对齐的实现,具体代码如下:代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
3. android:id="@+id/layout"
4. android:orientation="vertical"
5. android:layout_width="fill_parent"
6. android:layout_height="fill_parent">
7. <ImageView
8. android:layout_width="wrap_content"
9. android:layout_height="wrap_content"
10. android:src="@drawable/ver"
11. android:layout_marginTop="15dip"
12. android:layout_marginLeft="15dip">
13. </ImageView>
14. <RelativeLayout
15. android:layout_width="fill_parent"
16. android:layout_height="fill_parent">
17. <ImageView
18. android:layout_width="wrap_content"
19. android:layout_height="wrap_content"
20. android:src="@drawable/logo"
21. android:layout_centerInParent="true">
22. </ImageView>
23.
24. <ImageView
25. android:layout_width="wrap_content"
26. android:layout_height="wrap_content"
27. android:src="@drawable/dev"
28. android:layout_alignParentBottom="true"
29. android:layout_alignParentRight="true"
30. android:layout_marginRight="5dip"
31. android:layout_marginBottom="35dip">
32. </ImageView>
33. </RelativeLayout>
34. </LinearLayout>
复制代码
三、在 ec 打开名为 MainActivity 的 Activity 源代码文件进行编辑, onCreate 部分代码
如下:
1. public void onCreate(Bundle savedInstanceState) {
2. super.onCreate(savedInstanceState);
3. setContentView(R.layout.main);
4. }
复制代码
然后运行项目可以在模拟器中显示, 上面的几个图片都按照设计的位置和效果进行显示
只是整个页面的背景还是黑色的, 接下来就是背景部分的显示实现, 由于为了实现横竖屏切
换显示, 背景图的显示采用代码进行控制显示, 首先用如下方法获取当前手机是横屏还是竖
屏:
1. // 获取屏幕方向
2. public static int ScreenOrient(Activity activity)
3. {
4. int orient = activity.getRequestedOrientation();
5. if(orient != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE && orient !=
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
6. // 宽>高为横屏 , 反正为竖屏
7. WindowManager windowManager = activity.getWindowManager();
8. Display display = windowManager.getDefaultDisplay();
9. int screenWidth = display.getWidth();
10. int screenHeight = display.getHeight();
11. orient = screenWidth < screenHeight ?
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
12. }
13. return orient;
14. }
复制代码
然后编写一个名为 AutoBackground 的公共方法用来实现屏幕背景的自动切换, 后面的几
乎每一个功能页面都需要用到这个方法
1. public static void AutoBackground(Activity activity,View view,int
Background_v, int Background_h)
2. {
3. int orient=ScreenOrient(activity);
4. if (orient == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { // 纵向
5. view.setBackgroundResource(Background_v);
6. }else{ // 横向
7. view.setBackgroundResource(Background_h);
8. }
9. }
复制代码
完成上述两方法后在 MainActivity 的 onCreate 方法中调用 AutoBackground 方法
进行屏幕自动切换:
1. LinearLayout layout=(LinearLayout)findViewById(R.id.layout);
2. // 背景自动适应
3. AndroidHelper.AutoBackground(this, layout, R.drawable.bg_v,
R.drawable.bg_h);
复制代码
到此完成了载入页面的 UI 部分的实现,测试运行模拟器中查看效果,基本上跟最上面
的设计效果图相符,测试效果图如下:
剩余49页未读,继续阅读
资源评论
csh18750931974
- 粉丝: 0
- 资源: 8万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功