Skip to main content

Home/ Groups/ Android Dev
Simon Pan

App Widgets | Android Developers - 1 views

  • To find your minimum width and height in density-independent pixels (dp), use this formula: (number of cells * 74) - 2
    • Simon Pan
       
      why i can't highlight?
    • Vincent Tsao
       
      FYI: You may need a toolbar to highlight, http://www.diigo.com/tools/toolbar
  • how often the App Widget framework should request an update from the AppWidgetProvider by calling the onUpdate() method
  • exactly on time
  • ...6 more annotations...
  • programmatically interface with the App Widget, based on broadcast events.
  • programmatically interface with the App Widget, based on broadcast events.
  • programmatically interface with the App Widget, based on broadcast events.
  • only the event broadcasts
  • when each App Widget is added to a host
  • it includes a loop that iterates through each entry in appWidgetIds,
Simon Pan

Context | Android Developers - 1 views

  • stay around
    • Simon Pan
       
      不離開
  • whose lifecycle is separate from the current context
  • If used from an Activity context, the receiver is being registered within that activity.
Jac Londe

XLP Energy Harvesting Dev Board | DigiKey - 0 views

  • XLP Energy Harvesting Development Board The XLP 16-bit Energy Harvesting Development Kit is a true development platform for realizing energy harvesting applications. The Microchip nanoWatt XLP PIC MCUs are ideal for these low power applications with sleep currents down to 20nA, active mode currents down to 50uA/MHz, code execution efficiency, and multiple wake-up sources. Powered only by light, the XLP kit enables rapid prototyping of low power applications such as RF sensors, temperature/environmental sensors, utility meters, remote controls, and security sensors to name just a few. For software development and programming, the kit includes the PICkit 3 programmer/debugger for use with the Microchip’s free MPLAB™ Integrated Development Environment.
  • UART to USB bridge for use in prototyping and PC communication
  • Solar Energy Harvester with EnerChip storage devices providing backup power
  • ...6 more annotations...
  • Individual disable jumpers for board components such as temperature sensors, LEDs, EEPROM, and potentiometer thereby removing unwanted standby current
  • Expansion PICtail connector with MCU controlled power supply
  • Prototyping area for adding additional sensors and circuits
  • PICkit 3 Programmer/Debugger and board level connector for application software development
  • PIC24F16KA102 eXtreme Low Power MCU with 20nA sleep currents(Can also be used with PIC24FJ64GA102)
  • Energy Aware software reports charge status as a percentage and charge state (Charging or Discharging EnerChips)
Simon Pan

Administering In-app Billing | Android Developers - 0 views

    • Simon Pan
       
      此頁已閱讀完畢 重點︰ 1.要加入permission: com.android.vending.BILLING 2.新增in app product到publish裡 3.product ID開頭必定為小寫或數字、且由a-z,數字、底線、點組合而成。另外,android.test被保留 4.Product ID一旦被建立後,無法再被重覆使用,即使己經刪除了這個Product ID 5.記得要設定測試帳戶 6.底下提供了幾個官方的討論串
  • does not
  • request to Android Market
  • ...1 more annotation...
  • You can then process the refund through your Google Checkout Merchant account.
Simon Pan

In-app Billing Overview | Android Developers - 1 views

  • nonce
    • Simon Pan
  • launches the pending intent
  • checkout flow finishes
  • ...22 more annotations...
  • sends your application a notification message
  • you must send a confirmation
  • will continue sending IN_APP_NOTIFY messages
  • should not
  • until you have delivered the item to the user.
  • will still receive an IN_APP_NOTIFY broadcast intent
  • must be able to handle IN_APP_NOTIFY messages
  • references a specific request ID
  • is installed
  • reinstalled.
  • even though you never initiated the purchase.
  • must handle
  • it usually stops sending IN_APP_NOTIFY intents
  • even though your application has sent a CONFIRM_NOTIFICATIONS message. This can occur if a device loses network connectivity while you are sending the CONFIRM_NOTIFICATIONS message.
  • You can do this by checking the orderID
  • even though your application has not sent a REQUEST_PURCHASE message.
  • may receive
  • informing the application that there is a purchase state change.
  • This applies only to items that have their purchase type set to "managed per user account."
  • signs the JSON string that is contained in the PURCHASE_STATE_CHANGED
  • it includes the signed JSON string (unencrypted) and the signature.
  • you can use the public key portion of your RSA key pair to verify the signature.
Vincent Tsao

androidpn - Xpress Push Notification for Android - Google Project Hosting - 1 views

  • An open source project to provide push notification support for Android -- a xmpp based notification server and a client tool kit. This project is currently being hosted at http://sourceforge.net/projects/androidpn/.
Vincent Tsao

kaeppler/droid-fu - GitHub - 6 views

  • Droid-Fu offers both support classes meant to be used alongside existing Android code, as well as self-contained, ready-to-be-used components like new adapters and widgets. The areas tackled by Droid-Fu include: application life-cycle helpers support classes for handling Intents and diagnostics better support for background tasks super-easy and robust HTTP messaging powerful caching of Objects, HTTP responses, and remote images custom adapters and views I suggest you read this introductory article, and anything that follows.
  •  
    大哥你有覺得這個比AsyncTask好用嗎?
  • ...2 more comments...
  •  
    BetterAsyncTask本质就是AsyncTask,我想在用法上应该没有太大区别 但AsyncTask有个硬伤就是它的life-cycle对当前的activity的life-cycle有依赖,容易引起FC,而BetterAsyncTask解决了这个问题,Ref: http://groups.diigo.com/group/android_related/content/introducing-droid-fu-for-android-betteractivity-betterservice-and-betterasynctask-brain-flush-2838716 当然还有其他解决办法,我自己偏向于 IntentService + Broadcast mechanism的解决方案
  •  
    難怪你會搜尋到我布落格 呵呵
  •  
    哈哈,其实是我几个月前看了你的blog后,才有了更多的认识的
  •  
    在我最近的案子裡 幾乎很少機會用到IntentService。 我目前唯一用到的是AsyncTask, 而且那還是我硬用,才有機會用到它。
Vincent Tsao

ysl 的程式天堂 - Android 應用開發‧研究‧與諮詢: 深入研究 IntentService 原始碼 - 1 views

  • 如果你呼叫 startService() 多次,每一次的呼叫都會被轉成一個 message,並放在 mServiceLooper 的 message queue 中,等待被服務。一個 message 所對應的工作被完成後,才會繼續服務下一個工作。所以,這些等待被服務的工作,並不是一起並行 (Concurrent) 的,而是循序執行。
  • 從研究這個 IntentService 的原始碼,我們可以學到如何運用簡單的 pattern (Service + Handler + HandlerThread),幫我們更簡易與有系統地,完成我們所想要做的事
  • 最後我們先前說過,在 IntentServcie 中等待被服務的工作,並不會被一起並行,而是循序執行。如果你今天想要這些等待被服務的工作,能夠一起被並行,在研讀完這個 IntentService 的原始碼後,你自己知不知道如何寫個可支援並行工作的 IntentService? 提示:可以用 Service + AsyncTask 的組合
Vincent Tsao

android-writing-zippy-android-apps.pdf - 1 views

  •  
    Funny facts: "zippy" 音译成四川话就是"驰皮",也就是"拉风"的意思 
Vincent Tsao

避免Android开发中的ANR | Log4think - 0 views

  • AsyncTask要点 1、必须从主线程调用,或者线程中有Handler或Looper。 2、不要在一个可能会被另外一个AsyncTask调用的库里面使用AsyncTask(AsyncTask是不可重入的) 3、如果从一个activity中调用,activity进程可能会在AsyncTask结束前退出,例如: 用户退出了activity 系统内存不足 系统暂存了activity的状态留待后用 系统干掉了你的线程 如果AsyncTask中的工作很重要,应该使用……
  • IntentService 的好处 Acitivity的进程,当处理Intent的时候,会产生一个对应的Service Android的进程处理器现在会尽可能的不kill掉你 非常容易使用
  • 总结 离开主线程! 磁盘和网络操作不是马上就能完的 了解sqlite在干嘛 进度展示很好
Vincent Tsao

Introducing Droid-Fu for Android: BetterActivity, BetterService and BetterAsy... - 2 views

  • So the basic idea is: launch an AsyncTask making your service call, show a nifty progress dialog while the task thread is running, and have the task’s result be posted back to your activity once it completes. Cool, but what if the user decides to rotate the screen while your task is running? Or a phone call comes in, interrupting your app, and Android decides to kill it? Both these actions will effectively terminateyour activity, and recreate it when resuming (yes, a screen rotation kills your activity, very clever, isn’t it?). Unfortunately, any AsyncTask that was still running now holds a stale reference to your activity, because the restarted activity will be an entirely different object in memory (and it will go through onCreate(), as if the activity had started for the first time). I’m not entirely sure whether AsyncTask will actually post back the data to the old activity object (if it was a weak reference, it may already have been garbage collected), but in any case, your “new” activity will never see it, because it’s a different instance.
    • Vincent Tsao
       
      This situation always raise a FC bug, an alternative solution is IntentService + broadcast 
Vincent Tsao

How QR Codes Can Grow Your Business | Social Media Examiner - 1 views

  • Consumers want immediate access to what’s relevant and QR codes are being used to make that possible.
  • Bar codes are linear one-dimensional codes and can only hold up to 20 numerical digits, whereas QR codes are two-dimensional (2D) matrix barcodes that can hold thousands of alphanumeric characters of information. Their ability to hold more information and their ease of use makes them practical for small businesses.
  • When you scan or read a QR code with your iPhone, Android or other camera-enabled Smartphone, you can link to digital content on the web; activate a number of phone functions including email, IM and SMS; and connect the mobile device to a web browser.
  • ...4 more annotations...
  • There are other software companies that have created 2D codes that work much like QR codes, with Microsoft being the most notable.  Microsoft developed their own proprietary software to create codes known as MS tags.  Unlike QR codes, which can be read by a number of different readers, MS tags can only be read by the Microsoft Tag Reader.
  • Calls to Action – After building a community, the next logical step is to mobilize them to take action.   What are you trying to accomplish?  You can alternate special offers by simply linking your QR codes to new landing pages, and you can combine then with email opt-ins to build your list.
  • SEO and SMO – Earlier this month I wrote an article on social graphs where I discuss how web objects such as images, music clips, and videos add valuable content to your social graph.  QR codes enhance both your search engine and social media optimization.  Now you can increase traffic to those searchable objects to further optimize them by encouraging more sharing.
  • Social Proof – To help build a community offline, it can be helpful to use your vibrant online communities as social proof of your influence and expertise.  As one example, you can use QR codes to link to specific blog posts that have earned an abundance of activity.
Vincent Tsao

Implementing "Pull To Refresh" in your Android App | Blog // Recursive Awesome // Table... - 1 views

  • For completeness we really should handle the possibility of the task getting cancelled. This can happen when the user navigates away from the app and the task is killed before its completed. This will cause the onPostExecute() method to not be called and so the onRefreshComplete() method won’t be called. Depending on how the user navigates through the app, they could return to this activity without going through the complete onCreate() lifecycle, and you’ll end up with the screen still showing the “loading” progress message in the header. This is common when using tabs between multiple ListViews. Also, the documented best practices for implementing an AsyncTask says that in long running background work you should periodically check if the task has been cancelled and try to gracefully quit your work and exit. So let’s get all of that in there.
« First ‹ Previous 41 - 60 of 497 Next › Last »
Showing 20 items per page