android开发新浪微博客户端+完整攻略.pdf

所需积分/C币:9 2011-11-19 16:23:12 1.6MB PDF
收藏 收藏
举报

android开发新浪微博客户端+完整攻略.pdf android开发新浪微博客户端+完整攻略.pdf
二、完成图片资源的准备后接下就是 lavout文件的编写,在res/ layout文件夹下新 建main.xm1文件,这个1 ayout采用 Linearlayout控件作为顶层控件,然后用 Imageview 控件分别实现版木号图片顶部靠左对齐显示、软件名称和图标图片居中对齐、作者名称和 blog图片底部靠右对齐。注意在版本号图片显示 Imagevicw控件下面添加一个 Relativelayout控件作为软件名称和图标图片 Imagevlew和作者名称和blog图片 Imageview的父控件用来控制居中对齐已经底部对齐的实现,只体代如下:代码 1. <?xml version=1.0 encoding utf-8?> 2. Linearlayout xmins:android=http://schemas.androidcom/apk/res/android 3. android: id=@+id/layout 4. android: orientation= vertical 5. android: layout width-fill parent 6. android: layout height= fill parent> agev ew 8. android: layout width="wrap content 9. android: layout height="wrap content 10. android: src-"@drawable/ver Il. android: layout marginTop-=15dip 12. android: layout marginLeft-15dip"> 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 align ParentBottom truc 29. android: layout alignParentRight= true 30. android: layout marginRight-5dip 31. android: layout marginBottom=35dip> 32.</Imageview> 3. </Relativelayout> 4.</Linearlayout> 复制代码 、在eC打开名为 MainActivity的 Activity源代码文件进行编辑, on Create部分代码 如下: 1. public void onCreate(Bundle savedInstanceState) 2. super onCreate(savedInstanceState) 3. set View(R layout. main) 4 复制代码 然后运行项目可以在模拟器中显示,上面的几个图片都按照设计的位置和效果进行显示 只是整个页面的背景还是黑色的,接下来就是背景部分的显示实现,由于为了实现横竖屏切 换显示,背景图的显示釆用代码进行控制显示,首先用如下方法获取当前手机是横屏还是 屏 1.//获取屏幕方向 2. public static int ScreenOrient (Activity activity 4. int orient- activity. get RequestedOrientation( 5. if (orient ! ActivityInfo SCREEN ORTENTATTON LANDSCAPE & orient! Activity info SCREEN ORIENTATION PORTRAIT 6./宽>高为横屏,反正为竖屏 7. WindowManager window Manager activity getWindowManager O 8. Displaydisplay= windowManager. getDefaultDisplay( 9. int screenWidth= display. getWidtho) 10. int screenlleight display getlleight O ll orient- screenWidth< screenHeight Activity Info SCREEN ORIENTATION PORTRAIT Activity Info SCREEN ORIENTATION LANDSCAPE 13. return orient 复制代码 然后编写一个名为 Auto Background的公共方法用来实现屏幕背景的自动切换,后面的几 乎每一个功能页面都需要用到这个方法 1. public static void AutoBackground(Activity activity, View view, int Background v, int Background h) 2 3. int orient- ScrcenOrient(activity) 4. if (orient=- Activity Info SCREEN ORIENTATION PORTRAIT)[// mJ 5. view set BackgroundResource( Background v) 6.}else{//横向 view. setBackgroundResource( Background h) 8 复制代码 完成上述两方法后在 MainActivity的 on Create方法中调用 Auto Background方法 进行屏幕自动切换: 1. LinearLayout layout-(LinearLayout) findViewBy Id(R id layout) 2./背景自动适应 3. AndroidHelper AutoBackground(this, layout, R drawable. bg v drawable. bg h) 复制代码 到此完成了载入页面的UI部分的实现,测试运行模拟器中査看效果,基本上跟最上面 的设计效果图相符,测试效果图如下: ●5546 Ver/0 我的新浪徽博 载入中请稍等 ::http://www.cnblogs.com/hll2oo8/ eoekndroid com 回区 Verl.o 我的新微博 公 载入中请稍等 :事的右 http://www.cnblogs.com/hllzoo8/ 咱画 eoekndroid. com android开发我的新浪微博客户端-载入页面 sqlite篇(1.2) 通过上一篇文章( android开发我的新浪微博客户端-载入贞面UI篇(1.1))已经完成 了载入页面的UI部分的实现,效果如上图,接下来在上面的基础上完成载入页面的功能代 ●5546 Ver/0 我的新浪徽博 载入中请稍等 ::http://www.cnblogs.com/hll2oo8/ eoekndroid com 首先说明一下新浪微博提供了 OAuth和 Base oauth两种认证方式(如果不知道什么是 0Auth和 Base oauth请自己 google一下恶补,同时接下来的2篇随笔也会对这方面进行详 细的说明以及具体实现),本项目是采用 OAuth认证方式,采用这种方式就需要有用户的新 浪 Userid、 Access token、 Access secret这3样乐西才能自由便利的调用新浪的开放接口, 夲项日是这样做的当用户第一次使用软件时进行授权认证获取这3样东西的时侯存储到 sqlite库中以便用户下次使用时不需要重新进行繁琐的授权认证操作直接从 sqlite库屮读 取出来即可,由丁这样的需求载入页面的功能设定是这样:当用户打廾软件显示载入页面时 开始检查 elite库中是否口经保存有用户的新浪微博的 UserId号、 Access token、 Access Secret的记录,如果一条记录都没有那就说明用户是第一次使用本软件那么跳到认证授权 貞面进行授权认证操作(认证授杈功能在接下来的两篇中进行实现讲解)获取这3个值保存 到sq1ite库中,如果已经包括了记录,那么读取这些记录的 Userid号、 Access token、 Access Secret值然后根据这3个值调用新浪的api接口获取这些记录对应的用户呢称和用户头像 图标等信息。 上面功能设定中涉及到 sqlite数据库的创建、数据表的创建、数据记录的添加、数据 记录的读取等操作,这里新建名为 Sglitehelper.java类文件提供 sqlite数据表的创建、 更新等,代码如下: 1. public class SqliteHelper extends SQLiteOpenHelper t 2./用来保存 3. UserId、 Access Token、 Access secret 4.的表名 0. public static final String TB NAME="users 6. public SqliteHelper(Context context, String name, CursorFactory factory, int version) 7. super(context, name, factory, version) //创建表 10. @ Override 11. public void onCreate(SQLiteDatabase db) t 12. db. exeCSQL(CREATE TABLE IF NOT EXISTS+ 13. TB NAME+( 14. UserInfo IDI integer primary key,I 15. UserInfo USERID+ varchar,+ 16. UserInfo TOKEN+ varchar,+ 17. UserInfo. TOKENSECRET+ varchar 18 UserInfo USERNAME+ varchar,+ 19. UserInfo. usericoni blob I 21.); 22. Log e( Database",onCreate") 24./更新表 25. Override 26. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 27. db. exeCSQL( DROP TABLE IF EXISTS TB NAME) 28. onCreate(db) pgrac de") 31./更新列 32. public void updat eColumn (SQLiteDatabase db, String oldColumn, String newColumn, String type Column)( 341. db exeC SQL("ALTER TABLE 35. TB NAME I CHANGE 36. oldColumn + newColumn typeCo lumn 9. catch(Exception e)i 41 42.} 43.} 复制代码 接下来新建名为 DataHelper.java类文件实现用户记录的创建、史新、删除等,代码如 1. public class Datallelper 2./数据库名称 3. private static String DB NAME- mysinaweibo db 4./数据库版本 5. private static int DB VErSION=2 6. private SQLiteDatabase dh 7. private SqliteHelper dbHelper 9. public Datallelper(Context context)[ 10. dbHelper-new SqliteHelper(context, DB NAME, null, DB VERSION) 11. db= dbHelper get WritableDatabase o 13 14. publi id Close o 16. db. close 17. dbHelper close o 19.//获取 users表中的 UserID、 Access token、 Access secret的记录 20 public List<UserInfo> GetUserList(Bool 21 st<UserInfo> 23. Cursor cursor=db query(SqliteHelper, TB NAME, null, null, null, null null, UserInfo. ID+ DESC 24 cursor. moveToFirstO 25. while(!cursor. isAfterLast O&&(cursor getString(1)!=null))i 26. Userinfo user=new UserInfo O 27. user setId(cursor getString(0)) 28. user. setUserId (cursor getString(1)) 29. user set Token(cursor. get String(2)) 30. user set Token Secret(cursor. get String(3) 31. if(!isSimple)f 32. user setUserName(cursor getString(4)) 33 ByteArray Input Stream stream=new By teArray Input Stream(cursor getBlob(5)) 34. Drawable icon- Drawable create FromStrcam(stream,image") user. setUserlcon (icon

...展开详情
试读 78P android开发新浪微博客户端+完整攻略.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    lsqdata 程序可以在eclipse里面运行,可以研究一下
    2013-09-29
    回复
    迷离单恋 还行,挺完整的 谢谢啦
    2013-08-20
    回复
    海岛椰风 不错,可以使用
    2013-07-04
    回复
    剑心渐远 还行,挺完整的 谢谢啦
    2013-05-06
    回复
    xuansefeng8 不错,可以运行
    2013-02-20
    回复
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    android开发新浪微博客户端+完整攻略.pdf 9积分/C币 立即下载
    1/78
    android开发新浪微博客户端+完整攻略.pdf第1页
    android开发新浪微博客户端+完整攻略.pdf第2页
    android开发新浪微博客户端+完整攻略.pdf第3页
    android开发新浪微博客户端+完整攻略.pdf第4页
    android开发新浪微博客户端+完整攻略.pdf第5页
    android开发新浪微博客户端+完整攻略.pdf第6页
    android开发新浪微博客户端+完整攻略.pdf第7页
    android开发新浪微博客户端+完整攻略.pdf第8页
    android开发新浪微博客户端+完整攻略.pdf第9页
    android开发新浪微博客户端+完整攻略.pdf第10页
    android开发新浪微博客户端+完整攻略.pdf第11页
    android开发新浪微博客户端+完整攻略.pdf第12页
    android开发新浪微博客户端+完整攻略.pdf第13页
    android开发新浪微博客户端+完整攻略.pdf第14页
    android开发新浪微博客户端+完整攻略.pdf第15页
    android开发新浪微博客户端+完整攻略.pdf第16页
    android开发新浪微博客户端+完整攻略.pdf第17页
    android开发新浪微博客户端+完整攻略.pdf第18页
    android开发新浪微博客户端+完整攻略.pdf第19页
    android开发新浪微博客户端+完整攻略.pdf第20页

    试读已结束,剩余58页未读...

    9积分/C币 立即下载 >