Tumblrクライアント?作った。

6,416
-1

Published on

Published in: Technology, Design
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,416
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
13
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Tumblrクライアント?作った。

  1. 1. Tumblr @mitukiiikanazawa.js v1.6 - Mobile! Mobile! Mobile! -
  2. 2. Tumblr AndroidTumblrTumblife Android
  3. 3. emailmail@mitukiii.jp www twitter
  4. 4. 1 2Tumblr 2Android 1
  5. 5. Web
  6. 6. Tumblr Android
  7. 7. 2009 9Tumblr
  8. 8. Tumblr
  9. 9. Tumblr
  10. 10. TumblrTumblrWikipedia
  11. 11. Tumblr
  12. 12. Tumblr
  13. 13. TumblrTumblr
  14. 14. 2010 4Android
  15. 15. Android
  16. 16. Android
  17. 17. Android Tumblr
  18. 18. Android
  19. 19. Android
  20. 20. Tumblr
  21. 21. Tumblr2010
  22. 22. Tumblr ( )
  23. 23. Tumblr
  24. 24. ‐ ‐ ‐ ‐
  25. 25. Tumblr Tumblife
  26. 26. Tumblife
  27. 27. Tumblife
  28. 28. Tumblife
  29. 29. Tumblife 10,000 4,000
  30. 30. Tumblife
  31. 31. TumblifeiOS Tumblr Gear
  32. 32. Tumblife
  33. 33. Tumblife
  34. 34. Tumblife Like ReblogRead Only
  35. 35. Tumblife
  36. 36. Tumblife
  37. 37. TumblrTumblife
  38. 38. Tumblife
  39. 39. TumblifeAndroid
  40. 40. Android
  41. 41. Mac, Windows, Linux OS
  42. 42. Android
  43. 43. ( )
  44. 44. Android
  45. 45. ActivityIntentThread
  46. 46. Activity
  47. 47. ActivityAndroidWeb
  48. 48. ActivityActivity
  49. 49. Activitypackage jp.mitukiii.tumblife;import android.app.Activity;import android.os.Bundle;public class TumblifeActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /** **/ }}
  50. 50. ActivityonCreateonStartonResumeonPauseonStoponRestartonDestroy
  51. 51. ActivityAndroid Activity
  52. 52. Activity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); if (dashboard == null) { /** Dashboard **/ dashboard = new TLDashboard(delegate, context, handler); } else { /** Dashboard **/ dashboard.reinit(delegate, context, handler); dashboard.restart(); }... /** Next onClickNext **/ buttonNext = (Button)findViewById(R.id.tumblr_button_next); buttonNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { onClickNext(); } }); }
  53. 53. Activity @Override protected void onResume() { super.onResume(); /** **/ setting.loadSetting(context); /** **/ if (setting.hideButtonBar()) { buttonBar.setVisibility(View.GONE); } else { buttonBar.setVisibility(View.VISIBLE); }... }
  54. 54. Activity @Override protected void onStop() { super.onStop(); /** **/ if (setting.useSaveState()) { dashboard.serialize(); } }
  55. 55. Activity@Overrideprotected void onDestroy(){ super.onDestroy(); /** **/ postFactory.destroy(); /** Tumblr **/ dashboard.destroy();}
  56. 56. Activity
  57. 57. ActivityActivity Android
  58. 58. Intent
  59. 59. IntentActivity
  60. 60. Intent
  61. 61. Intent
  62. 62. Intent@Overridepublic boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()) { case R.id.menu_setting: showSetting(); break; } return super.onOptionsItemSelected(item);}private void showSetting(){ /** Activity **/ Intent intent = new Intent(context, SettingActivity.class); startActivity(intent);}
  63. 63. Intent Intent
  64. 64. Intent Intent
  65. 65. Intent
  66. 66. Intentprivate void sendToView(String url){ /** URL Activity **/ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent);}private void sendToShare(String url){ /** URL Activity **/ Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, url); startActivity(intent);}
  67. 67. Intent Activity
  68. 68. Intent
  69. 69. Intent Intent
  70. 70. IntentIntent
  71. 71. Thread
  72. 72. Thread thread CPUWikipedia
  73. 73. Thread
  74. 74. ThreadThread
  75. 75. Thread Thread
  76. 76. Thread Thread
  77. 77. Thread.../** Tumblr **/tumblr.login();webView.loadUrl(tumblr.getPost().getFileUrl());...
  78. 78. Thread
  79. 79. ThreadUX
  80. 80. Thread
  81. 81. Thread...new Thread() { public void run() { /** Tumblr **/ tumblr.login(); webView.loadUrl(tumblr.getPost().getFileUrl()); }}.start();...
  82. 82. Thread
  83. 83. Thread...new Thread() { public void run() { /** Tumblr **/ tumblr.login(); /** ! **/ webView.loadUrl(tumblr.getPost().getFileUrl()); }}.start();...
  84. 84. ThreadAndroid UI
  85. 85. Thread
  86. 86. Thread Handler
  87. 87. Thread...Handler handler = new Handler();new Thread() { public void run() { /** Tumblr **/ tumblr.login(); handler.post(new Runnable() { public void run() { webView.loadUrl(tumblr.getPost().getFileUrl()); } }); }}.start();...
  88. 88. Thread
  89. 89. Thread ThreadGUI
  90. 90. Android
  91. 91. Twitter
  92. 92. Twitter ( )

×