Skip to main content

Home/ Groups/ Android Dev
Vincent Tsao

移动平台应用程序现状 | ifanr 爱范儿 ♂专注于拇指设备的小众讨论 - 0 views

  • 市场调研公司尼尔森最近发布了 ”App Playbook“,他们调查了 4200 名在过去 1 个月中下载应用的人
  • 2009 年第四季度,21% 美国无线用户拥有智能手机,这一数字高于上一季度的 19%,大幅高于 2008 年底的 14%。 14% 的移动用户在 30 天内下载过一个应用。 应用程序平均数量:智能手机:22,功能手机:10 BlackBerry: 10 iPhone:37 Android: 22 Palm: 14 Windows Mobile: 13
  • Facebook, Google Maps and Weather Channel 是跨平台间最受欢迎的应用 iPhones: Facebook (58%), iTunes (48%), Google Maps (47%) Android: Google Maps (67%), Facebook (50%), Weather Channel (38%) Blackberry: Facebook (51%), Google Maps(34%), Weather Channel (28%)
  • ...1 more annotation...
  • 社交网络:毫无疑问,Facebook 占领头把交椅,不过 MySpace 在青少年中非常受欢迎;LinkedIn 的受众群为 25-44 岁的成年人。 新闻/天气:超过 58% 的受访者使用 Weather Channel ;除 Time Mobile 和 Thomson Reuters 之外,各站间(访问者)年龄分布较相似。 购物:Amazon 和 eBay 领先(57% 和 41%) 搜索/地图:男性居多,尤其是 Instamapper (80/20) 视频/电影:向男性倾斜; Imeem 和 Moviefone 显示有大量的年轻用户群。 音乐:iTunes,Pandora,Sirius XM 吸引更多的男性,而 Yahoo Music 男女几乎对半。(51/49)
Vincent Tsao

foursquared - Project Hosting on Google Code - 0 views

  • Open Source Foursquare client for Android.
Vincent Tsao

Palm用户体验大师加盟谷歌Android团队_Palm_cnBeta.COM - 0 views

  • 惠普旗下的Palm公司已确认,公司副总裁、webOS UI设计负责人、著名移动用户体验设计大师Matias Duarte将离职。而来自Google方面的消息,Duarte将加入Google,出任Android用户体验总监一 职。由于历史上Matias Duarte在跳槽时,总是带着自己的团队同行,所以很可能Palm原设计团队的其他人也会随之而去。这其实并不奇怪,Duarte本来就是 Android之父Andy Rubin 2000年创办的公司Danger的设计总监。 2005年Danger被微软收购后(最近推出的Kin手机来自Danger),Duarte加盟 Helio公司(由EarthLink与SK合资创办,现在是Springt-Nextel的一部分)任副总裁,负责体验设计。2007年加盟Palm, 主导webOS的UI设计。无论是Danger、Helio还是Palm webOS,其界面设计都广受好评,可惜产品本身生不逢时。尤其是webOS, 曾被许多开发者称为在创新性上唯一能与iPhone相提并论的操作系统。
  • Matias Duarte,在产品管理、信息架构、交互设计、视觉设计、用户研究等领域均有很深造诣的设计大 师。1996年毕业于马里兰大学。拥有计算机科学学位,并辅修了艺术和艺术史。大学期间曾经开发了一款免费游戏软件,并连续三年获得Linux Journal的读者选择奖。1996年为Atari公司(乔布斯曾经在此打工)的游戏担任过主设计师。1997年在创业公司 MagicArts任合伙人兼设计副总裁。2000年加入Danger,任设计总监,领导了SideKick产品的设计。2005年加盟Helio。 2007年加盟Palm。 曾荣获2002年Wired Rave大奖,美国国家设计奖提名,拥有9个美国实用专利和2个设计专利。 他的自我介绍上这样描述自己的目标:To create great products that make people smile.(创造使人微笑的优秀产品。)
Vincent Tsao

用google adsense的小心了!!!! - China Android Dev | Google Groups - 0 views

  • Sunil回信了。 Hi Luke, Rest assured the apps are fine. We are migrating people over the new system and will let you know when it's complete. Showing false does not impact your earnings or account. 他只字未提Superdroid的事件。
  • http://groups.google.co.nz/group/android-developers/browse_thread/thr... 这个有个账号做adsense网页的,账号被封 又打开的,半年前的事情。 在android developer人多些
Vincent Tsao

用google adsense的小心了!!!! - China Android Dev | Google Groups - 0 views

  • google最后给的判决书: Hi, After further review from our abuse team we have confirmed that your account that was closed was modifying the ad behavior which is strictly prohibited as stated in the AdSense policies. These types of violations pose a significant risk to advertisers and for this reason we can no longer work with you through any partnering AdSense account or product offering. This will be the final communication about this issue. Please do not reply to this email as you will not receive a response. Thank you for your understanding. Google AdSense 我们自始至终都不知道原因。
  • 我Google了下 "modifying the ad behavior " 就是指你修改了 Google提供的 adsense js code 或者 sdk 唯一有可能的就是这里了 GoogleAdView adView = (GoogleAdView) activity.findViewById(R.id.ad<http://r.id.ad/> ); if (adView != null) { View vc = adView.getCurrentView(); if (vc instanceof WebView) { ((WebView) vc).destroy(); } View vn = adView.getNextView(); if (vn instanceof WebView) { ((WebView) vn).destroy(); } } 因为用了adsense之后 我们的程序老是crash 从stack trace看是因为Google adsense sdk 引起的. 资源没有释放. 然后去Adsense的那个mail list AFMA 问了 碰到2个都有同样问题的 然后有人给了个code 因为adsense sdk没有destroy ad view  所以要手动destroy下 我们就在每个有ads的activty的 onDestroy 加上这段 就好了 程序没有crash了 结果就被搞了 连负责我们android adsense sales都事先不知道 adsense team就直接把我们封了 还在beta 测试阶段的东西 还有bug  我们只是加了这个保证他资源正常释放不会影响到我们程序 结果就挂了 而且Google的态度巨NX无比 连个申述的途径都没有  只是给了个link类似事后调查
  • 我刚刚给我的sale发了一封信: Hi Sunil, It has been long that I haven't talked to you. I have a question, when I went to the application register page, I found the page layout was changed and some of my apps were gone. For example UK TV Guide, Australia TV Guide, etc. Also, the published status are all "false". I am confused because I am still seeing my ads are clicked in the daily report. Is there anything wrong? I am nervous because I just knew that an AdSense developer's account was disabled without any warning,  and the developers themselves don't know the reason. I don't want that happened on me so I really appreciate your comment. below is the letter in AFMA group. Looking forward to your reply. Thanks. Cheers, Luke 接下来我引用了superdroid的信。看看他怎么说吧。
  • ...1 more annotation...
  • 把这句抄下来了,大家以后小心了。 Ad Behavior AdSense code may not be altered, nor may the standard behavior, targeting or delivery of ads be manipulated in any way that is not explicitly permitted by Google. For instance, clicking Google ads may not result in a new browser window being launched. 我猜是不是可以找google总部投诉一下这个部门
Vincent Tsao

Nexus one gets Linux - Hack a Day - 0 views

  •  
    Ubuntu on Nexus one
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)
Vincent Tsao

How to implement a Button on an Android Widget - Stack Overflow - 0 views

  • I am just getting started with Android development and I have created a nice little widget that displays some info on my home screen. However, I now want to implement a Button on my widget that updates the info in my widget TextView.
  • Solved - I can confirm that an Activity is NOT needed if you want create a Button to update an Android AppWidget. I have been able to implement my AppWidgetProvider class such that it registers an android.appwidget.action.APPWIDGET_UPDATE intent-filter with the Broadcast receiver in the AndroidManifest.xml, which then fires the onUpdate event in the AppWidgetProvider class (which in turn then runs the UpdateService).
  • The UpdateService in my AppWidgetProvider class then uses onHandleIntent to run a private buildUpdate method - which registers the onClick event with a call to setOnClickPendingIntent as follows:
  • ...1 more annotation...
  • // set intent and register onclickIntent i = new Intent(this, MyWidget.class);PendingIntent pi = PendingIntent.getBroadcast(context,0, i,0);updateViews.setOnClickPendingIntent(R.id.update_button,pi);
Vincent Tsao

How to handle screen orientation change when progress dialog and background thread acti... - 0 views

  • When you switch orientations, Android will create a new View. You're probably getting crashes because your background thread is trying to change the state on the old one. (It may also be having trouble because your background thread isn't on the UI thread) I'd suggest making that mHandler volatile and updating it when the orientation changes.
Vincent Tsao

Is it possible to update a widget from an Activity? - Android Developers | Google Groups - 0 views

  • An AppWidgetProvider is a BroadcastReceiver. That gives you two possibilities right off the bat: 1. Have it also handle whatever other Intents you were planning on setting up with a separate BroadcastReceiver, or 2. Send an Intent from whatever component you want to the AppWidgetProvider. In other words, don't worry about trying to talk directly to the app widget (which I suspect is impossible) -- just talk to your code that already talks to the app widget.
    • Vincent Tsao
       
      good explanation
  • I update my widget from within my app, when I delete/add entries to a list. To do this, I have a method (updateWidget) and a static String (UPDATE_ACTION). My updateWidget() method sends a broadcast which is received by the widget class and then calls onUpdate() with the appropriate params: private void updateWidget() {                 Intent i = new Intent(this, TVWidget.class);                 i.setAction(TVWidget.UPDATE_ACTION);                 sendBroadcast(i);         } In TVWidget class: @Override         public void onReceive(Context context, Intent intent) {                 String action = intent.getAction();                 if (action != null && action.equals(UPDATE_ACTION)) {                         final AppWidgetManager manager = AppWidgetManager.getInstance (context);                         onUpdate(context, manager,                                         manager.getAppWidgetIds(new ComponentName(                                                         context, TVWidget.class)                                         )                         );                 }                 else {                         super.onReceive(context, intent);                 }         } This seems to work fine.
Vincent Tsao

Mark Murphy | AndroidGuys - 0 views

  • Mark Murphy is the founder of CommonsWare and is the author of _The Busy Coder's Guide to Android Development_, _The Busy Coder's Guide to *Advanced* Android Development_, and _Android Programming Tutorials_.
  •  
    Articles from Mark Murphy
Vincent Tsao

How to disable a button on an appwidget? | Hello Android - 0 views

  • RemoteViews can't manipulate a buttons enabled/disabled state, but it can modify its visibility. So the trick is to have two buttons, the real one, and an other which is designed to look like the real one in disabled state, and change witch one is visible.
  • <Button android:id="@+id/startbutton" android:text="Start" android:visibility="visible"></Button> <Button android:id="@+id/startbutton_disabled" android:text="Start" android:clickable="false" android:textColor="#999999" android:visibility="gone"></Button>   <Button android:id="@+id/stopbutton" android:text="Stop"  android:visibility="gone"></Button> <Button android:id="@+id/stopbutton_disabled" android:text="Stop" android:clickable="false" android:textColor="#999999" android:visibility="visible"></Button>
  • RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget); remoteView.setViewVisibility(R.id.startbutton, View.GONE); remoteView.setViewVisibility(R.id.startbutton_disabled, View.VISIBLE); remoteView.setViewVisibility(R.id.stopbutton, View.VISIBLE); remoteView.setViewVisibility(R.id.stopbutton_disabled, View.GONE); AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, remoteView);
  • ...1 more annotation...
  • RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget); remoteView.setViewVisibility(R.id.startbutton, View.VISIBLE); remoteView.setViewVisibility(R.id.startbutton_disabled, View.GONE); remoteView.setViewVisibility(R.id.stopbutton, View.GONE); remoteView.setViewVisibility(R.id.stopbutton_disabled, View.VISIBLE); AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, remoteView);
Vincent Tsao

Handling User Interaction with Android App Widgets - Developer.com - 0 views

  • An App Widget uses a special display control called RemoteViews. Unlike a regular View, a RemoteViews control is designed to display a collection of View controls in another process. Consequently, you can't simply add a button handler because that code would run in your application process, not in the process displaying the RemoteViews object (in this case, the Home Screen process).
  • In order to handle user interaction with an App Widget, the following tasks must be performed: Set a unique click handler for each App Widget control Have the click handler send a command to a registered receiver Process the command received and perform any action necessary Update the App Widget to reflect the changes
Vincent Tsao

Android Market 应用数量将在本月突破十万大关 | 谷安--谷奥Android专题站 - 0 views

  • 上图是AndroLib.com统计的Android Market应用数量图表,可以看到截至7月1日应用数量已经超过9万大关,按照这个增速计算在7月里Android Market应用数量肯定会突破10万大关。要知道一年前这个数量还不到1万。
Vincent Tsao

谷歌力推低价Android手机的野心_Google Android_cnBeta.COM - 0 views

  • 新闻来源:21世纪网 作者:小刀马
  • 近日,市场又有消息称,谷歌将联合华为推低价Android手机。据悉,谷歌计划在中国和印度推动Android手机软件的发展,它们也试图为当地的开发者们寻找更多的生财之路。而为了吸引开发者们加入到Android操作系统中来,谷歌将提供工具,帮助他们销售产品,如订阅、虚拟货物及其它的形式。同时,谷歌还准备将Android操作系统植入低价手机中,这些手机由华为和 LG电子制造,主要面向亚洲和欧洲,而这两大地区正是诺基亚的腹地
  • Gartner表示,2009年移动广告市场只有10亿美元规模,但2013年将增长到135亿美元。此外,在移动应用上,谷歌落后于苹果。Android只有6.5万个应用程序,而苹果却有将近20万个。Gartner预计,2012年Android将成为全球第二大操作系统,超过苹果的iPhone OS,仅次于诺基亚Symbian
  • ...5 more annotations...
  • 如何才能更快速地让Android进入一个发展的快车道?无疑引入更多的开放者追捧这个系统是非常关键的。这也是苹果iPhone之所以成功的关键所在
  • 为了能够吸引到更多的开发者,谷歌试图帮助开发者通过软件赚更多钱,比如提供更简单的支付方式。
  • 目前大多的Android开发者通过广告赚钱,或者是一次性费用赚钱。如此一来,它们的收入比苹果平台少得多。苹果平台每年光是下载应用的费用就达44亿美元,应用商店每年占比77%,而Android只有9%。这是谷歌的软肋,也是谷歌Android没有苹果系统风靡的原因所在。为此,谷歌希望能打入低端手机市场,获得更多用户的使用,从而刺激Android手机系统的用户基数的增长,再带动第三方软件开发者对这个市场的关注和投入。谷歌也表示,eBay的PayPal已经向Android提供应用程序
  • 低端市场本来是很多制造大鳄并不十分感兴趣的市场,但是中国山寨市场的火爆让人们彻底改变了对这个市场的态度,大量的低端品牌涌入市场,并且获得了强大的生命力,本身就说明市场对该类产品的认可。这是一个非常值得谷歌思索的地方。于是,谷歌开始正式切入这个市场,并积极布局
  • 既然在硬件制造方面,谷歌难以和同类的竞争产品一争高下,那么改弦易张,进行有针对性地市场布局,比如支持更多的厂商推出Android产品,以及支持更多的第三方开发者进入到谷歌的阵营,或许这将是谷歌在移动市场竞争的最有力武器。而低端市场无疑是一个突破口,如果能够获得成功,那将星星之火可以燎原
Vincent Tsao

Creating a Home Screen App Widget on Android - Developer.com - 0 views

  • The Android system reuses Intents that match both action and scheme values—the "extras" values are not compared
    • Vincent Tsao
       
      通过设置不同scheme来区别不同的intent
  • In practice, this means the Intent for each App Widget identifier would actually be the same Intent. Fortunately, the solution is straightforward: define a scheme for your App Widget and use it to define unique Intent instances
  • // make this pending intent unique widgetUpdate.setData( Uri.withAppendedPath(Uri.parse( ImagesWidgetProvider.URI_SCHEME + "://widget/id/"), String.valueOf(appWidgetId)));
Vincent Tsao

Creating a Home Screen App Widget on Android - Developer.com - 0 views

  • onReceive(): The default implementation of this method handles the BroadcastReceiver actions and makes the appropriate calls to the methods shown above. (Warning: A well-documented defect exists that requires the developer to handle certain cases explicitly. See the following note for more information.)
  • Creating a simple App Widget involves several steps: Create a RemoteView, which provides the user interface for the App Widget. Tie the RemoteView to an Activity that implements the AppWidgetProvider interface. Provide key App Widget configuration information in the Android manifest file.
  • An App Widget is basically just a BroadcastReceiver that handles specific actions.
Vincent Tsao

putExtra error on AppWidget - Android Developers | Google Groups - 0 views

  • I am just making some AppWidget and I want to pass some Strings through UpdateView to an Activity. But the Bundle is null. I try this: -Widget.java                       Intent defineIntent = new Intent(context, Visor.class);                        defineIntent.putExtra ("org.rss.androides.post2","artist");                        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, defineIntent, 0);                        updateViews.setOnClickPendingIntent (R.id.widget, pendingIntent); -Viewer.java           Bundle b = intent.getExtras();                 if (b == null) {                     finish();                     return;                 } b is always null.
  • Remember that PendingIntents aren't keyed using extras: http://groups.google.com/group/android-developers/msg/b296f43ae70c4587 You could hack the extras through by mangling them into Uri parameters, or if you're using a ContentProvider, just point to a specific row.
  • Or use PendingIntent.FLAG_UPDATE_CURRENT; just be careful that each active instance has its own unique Intent.
Vincent Tsao

Bump Android App Review by AndroidTapp.com | Android Tapp. Android App Reviews - 0 views

  • Bump™ makes sharing photos, contacts, and apps with people as simple as bumping your phones together. Compatible with Android to iPhone too!
  • Bump for Android is an awesome app for quickly exchanging Contact info, Pictures and even Android apps! It’s such an easy way to share information on smartphones running the Bump app. It even works between Android and iPhones, so not just Android to Android or iPhone to iPhone bumps, but a mix of any phone running the app. Many users complain that you can’t Bump music transfers but understand there are legal issues involved there, something I’m sure Bump would not knowingly want to get involved with.
« First ‹ Previous 121 - 140 Next › Last »
Showing 20 items per page