English 中文(简体)
我如何把变本强加于由资源创造的比图上,并作为JPG加以拯救?
原标题:How do I super impose transformed text on a bitmap created from resource and save as JPG?

I m在一份文本概览中,在用户类型上打上了一张子。 该纽子开始透视,在资源档案中将案文放在比图上,然后将这一新的比图留给SD卡,并开始使用户能够发送/传递这一形象的意图。 我已经写了这一法典,它以我的宽松为生,但它却 t着 and子。 这项评估使用了8级的APIC,意在运行在2.2个平台上。 我曾尝试过自食其力,也作为无uck的同仁。 我也阅读了许多 st流问题,并遵循了他们的建议,即制定蓝图,而不会过度扩散 em子。 我尝试将我的变量作为领域,也在方法本身范围内进行即时解释。 我的守则是:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("INFO","At 2###########");
setContentView(R.layout.blank);
Thread thread = new Thread(this);
thread.start();
}

public void run() {
BitmapFactory.Options factoryOptions = new BitmapFactory.Options();
factoryOptions.inPurgeable = true;
factoryOptions.inInputShareable = true;
Bitmap tempCBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.c6,factoryOptions);
cBitmap = tempCBitmap.copy(Bitmap.Config.ARGB_8888, true);
PrepareLines();
Bitmap dBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dummy);
Bitmap textLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false);
Bitmap workLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false);
canvas = new Canvas(textLayer);
canvas.drawText(lineOne, xCenter, yCenter, paint);
canvas.drawText(lineTwo, xCenter, yCenter+20, paint);
canvas.drawText(lineThree, xCenter, yCenter+40, paint);

Camera mCamera = new Camera();
Matrix mMatrix = new Matrix();
mCamera.save();
mCamera.rotateY(yDegreeRotate+8);
mCamera.getMatrix(mMatrix);
mCamera.restore();

mMatrix.preTranslate(-xCenter, (-yCenter)-verticalOffset);
mMatrix.postTranslate(xCenter, yCenter+verticalOffset);
Log.i("INFO","At before first draw ###########");


canvas.setBitmap(workLayer);
canvas.drawBitmap(Bitmap.createBitmap(textLayer,0,0,xCenter,h), mMatrix, paint);

canvas.setBitmap(cBitmap);
canvas.drawBitmap(workLayer, new Matrix(), paint);

mMatrix = new Matrix();
workLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false);
dBitmap = null;
System.gc();

mCamera.rotateY(-yDegreeRotate);
mCamera.getMatrix(mMatrix);
// WIN DEATH HERE
mCamera.restore();
// WIN DEATH HERE;
mMatrix.preTranslate(0 , (-yCenter)-verticalOffset);
mMatrix.postTranslate(xCenter, (yCenter)+verticalOffset);
Log.i("INFO","At before second draw ###########");



canvas.setBitmap(workLayer);
canvas.drawBitmap(Bitmap.createBitmap(textLayer,xCenter,0,w-xCenter,h), mMatrix, paint);

canvas.setBitmap(cBitmap);
canvas.drawBitmap(workLayer, new Matrix(), paint);

Log.i("INFO","At 20, string measures: "+paint.measureText(message));
canvas = null;
workLayer = null;
textLayer = null;
System.gc();
makeFileAndIntent();
}

这里是我最新的目录产出。

01-14 18:00:43.453: D/AndroidRuntime(388): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
01-14 18:00:43.453: D/AndroidRuntime(388): CheckJNI is ON
01-14 18:00:43.543: D/AndroidRuntime(388): --- registering native functions ---
01-14 18:00:44.063: D/dalvikvm(255): GC_EXPLICIT freed 507 objects / 28896 bytes in 126ms
01-14 18:00:44.173: D/PackageParser(59): Scanning package: /data/app/vmdl47264.tmp
01-14 18:00:44.173: W/PackageParser(59): No actions in intent filter at /data/app/vmdl47264.tmp Binary XML file line #30
01-14 18:00:44.443: I/PackageManager(59): Removing non-system package:com.gigabites.fortune
01-14 18:00:44.443: I/ActivityManager(59): Force stopping package com.gigabites.fortune uid=10040
01-14 18:00:44.543: D/PackageManager(59): Scanning package com.gigabites.fortune
01-14 18:00:44.543: I/PackageManager(59): Package com.gigabites.fortune codePath changed from /data/app/com.gigabites.fortune-2.apk to /data/app/com.gigabites.fortune-1.apk; Retaining data and using new
01-14 18:00:44.543: I/PackageManager(59): /data/app/com.gigabites.fortune-1.apk changed; unpacking
01-14 18:00:44.553: D/installd(35): DexInv: --- BEGIN  /data/app/com.gigabites.fortune-1.apk  ---
01-14 18:00:44.803: D/dalvikvm(395): DexOpt: load 37ms, verify 132ms, opt 3ms
01-14 18:00:44.813: D/installd(35): DexInv: --- END  /data/app/com.gigabites.fortune-1.apk  (success) ---
01-14 18:00:44.813: W/PackageManager(59): Code path for pkg : com.gigabites.fortune changing from /data/app/com.gigabites.fortune-2.apk to /data/app/com.gigabites.fortune-1.apk
01-14 18:00:44.823: W/PackageManager(59): Resource path for pkg : com.gigabites.fortune changing from /data/app/com.gigabites.fortune-2.apk to /data/app/com.gigabites.fortune-1.apk
01-14 18:00:44.823: D/PackageManager(59):   Activities: com.gigabites.fortune.FortuneCookieActivity com.gigabites.fortune.NewCookieActivity com.gigabites.fortune.BrowseStockActivity com.gigabites.fortune.BrowseSavedActivity com.gigabites.fortune.SendCookieActivity com.gigabites.fortune.BuildActivity
01-14 18:00:44.833: I/ActivityManager(59): Force stopping package com.gigabites.fortune uid=10040
01-14 18:00:44.913: I/installd(35): move /data/dalvik-cache/data@[email protected]@classes.dex -> /data/dalvik-cache/data@[email protected]@classes.dex
01-14 18:00:44.913: D/PackageManager(59): New package installed in /data/app/com.gigabites.fortune-1.apk
01-14 18:00:45.013: I/ActivityManager(59): Force stopping package com.gigabites.fortune uid=10040
01-14 18:00:45.213: D/dalvikvm(59): GC_EXPLICIT freed 8993 objects / 895112 bytes in 187ms
01-14 18:00:45.253: D/dalvikvm(116): GC_EXPLICIT freed 1237 objects / 68112 bytes in 69ms
01-14 18:00:45.383: W/RecognitionManagerService(59): no available voice recognition services found
01-14 18:00:45.503: D/dalvikvm(143): GC_EXPLICIT freed 2329 objects / 127024 bytes in 241ms
01-14 18:00:45.604: D/dalvikvm(59): GC_EXPLICIT freed 5971 objects / 316560 bytes in 76ms
01-14 18:00:45.613: I/installd(35): unlink /data/dalvik-cache/data@[email protected]@classes.dex
01-14 18:00:45.613: D/AndroidRuntime(388): Shutting down VM
01-14 18:00:45.623: D/dalvikvm(388): Debugger has detached; object registry had 1 entries
01-14 18:00:46.043: D/AndroidRuntime(401): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
01-14 18:00:46.043: D/AndroidRuntime(401): CheckJNI is ON
01-14 18:00:46.133: D/AndroidRuntime(401): --- registering native functions ---
01-14 18:00:46.543: I/ActivityManager(59): Force stopping package com.gigabites.fortune uid=10040
01-14 18:00:46.543: I/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.gigabites.fortune/.BuildActivity }
01-14 18:00:46.563: I/ActivityManager(59): Start proc com.gigabites.fortune for activity com.gigabites.fortune/.BuildActivity: pid=407 uid=10040 gids={1015}
01-14 18:00:46.574: W/WindowManager(59): HistoryRecord{450598a8 com.gigabites.fortune/.BuildActivity} failed creating starting window
01-14 18:00:46.574: W/WindowManager(59): android.view.InflateException: Binary XML file line #24: Error inflating class <unknown>
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.createView(LayoutInflater.java:513)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2165)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2220)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1407)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:894)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.server.WindowManagerService$H.handleMessage(WindowManagerService.java:9007)
01-14 18:00:46.574: W/WindowManager(59):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-14 18:00:46.574: W/WindowManager(59):    at android.os.Looper.loop(Looper.java:123)
01-14 18:00:46.574: W/WindowManager(59):    at com.android.server.WindowManagerService$WMThread.run(WindowManagerService.java:570)
01-14 18:00:46.574: W/WindowManager(59): Caused by: java.lang.reflect.InvocationTargetException
01-14 18:00:46.574: W/WindowManager(59):    at android.widget.FrameLayout.<init>(FrameLayout.java:79)
01-14 18:00:46.574: W/WindowManager(59):    at java.lang.reflect.Constructor.constructNative(Native Method)
01-14 18:00:46.574: W/WindowManager(59):    at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
01-14 18:00:46.574: W/WindowManager(59):    at android.view.LayoutInflater.createView(LayoutInflater.java:500)
01-14 18:00:46.574: W/WindowManager(59):    ... 13 more
01-14 18:00:46.574: W/WindowManager(59): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x1010059 a=-1}
01-14 18:00:46.574: W/WindowManager(59):    at android.content.res.Resources.loadDrawable(Resources.java:1681)
01-14 18:00:46.574: W/WindowManager(59):    at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
01-14 18:00:46.574: W/WindowManager(59):    at android.widget.FrameLayout.<init>(FrameLayout.java:91)
01-14 18:00:46.574: W/WindowManager(59):    ... 17 more
01-14 18:00:46.574: D/AndroidRuntime(401): Shutting down VM
01-14 18:00:46.583: D/dalvikvm(401): Debugger has detached; object registry had 1 entries
01-14 18:00:46.744: W/ActivityThread(407): Application com.gigabites.fortune is waiting for the debugger on port 8100...
01-14 18:00:46.783: I/System.out(407): Sending WAIT chunk
01-14 18:00:46.783: I/dalvikvm(407): Debugger is active
01-14 18:00:46.983: I/System.out(407): Debugger has connected
01-14 18:00:46.983: I/System.out(407): waiting for debugger to settle...
01-14 18:00:47.183: I/System.out(407): waiting for debugger to settle...
01-14 18:00:47.383: I/System.out(407): waiting for debugger to settle...
01-14 18:00:47.583: I/System.out(407): waiting for debugger to settle...
01-14 18:00:47.783: I/System.out(407): waiting for debugger to settle...
01-14 18:00:47.983: I/System.out(407): waiting for debugger to settle...
01-14 18:00:48.183: I/System.out(407): waiting for debugger to settle...
01-14 18:00:48.393: I/System.out(407): debugger has settled (1335)
01-14 18:00:50.373: I/INFO(407): At 2###########
01-14 18:00:50.433: I/INFO(407): At 1###########
01-14 18:00:50.663: D/dalvikvm(407): GC_EXTERNAL_ALLOC freed 725 objects / 54320 bytes in 39ms
01-14 18:00:51.063: I/ActivityManager(59): Displayed activity com.gigabites.fortune/.BuildActivity: 4505 ms (total 273315 ms)
01-14 18:00:51.103: I/INFO(407): At 2###########
01-14 18:00:51.103: I/INFO(407): At 20, string measures: 653.0
01-14 18:00:51.164: D/dalvikvm(407): GC_EXTERNAL_ALLOC freed 425 objects / 18528 bytes in 34ms
01-14 18:00:51.223: D/dalvikvm(407): GC_EXTERNAL_ALLOC freed 47 objects / 1776 bytes in 31ms
01-14 18:00:51.293: I/INFO(407): At before first draw ###########
01-14 18:00:51.373: D/dalvikvm(407): GC_EXTERNAL_ALLOC freed 15 objects / 680 bytes in 29ms
01-14 18:00:51.433: D/dalvikvm(407): GC_EXPLICIT freed 12 objects / 456 bytes in 30ms
01-14 18:00:51.576: I/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-14 18:00:51.576: I/DEBUG(31): Build fingerprint:  generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys 
01-14 18:00:51.583: I/DEBUG(31): pid: 407, tid: 414  >>> com.gigabites.fortune <<<
01-14 18:00:51.583: I/DEBUG(31): signal 11 (SIGSEGV), fault addr deadbaad
01-14 18:00:51.583: I/DEBUG(31):  r0 00000000  r1 0000000c  r2 00000027  r3 00000000
01-14 18:00:51.583: I/DEBUG(31):  r4 00000000  r5 deadbaad  r6 00001728  r7 00000000
01-14 18:00:51.583: I/DEBUG(31):  r8 46d2ed10  r9 4185ff74  10 00233e40  fp 4185ff70
01-14 18:00:51.583: I/DEBUG(31):  ip ffffffff  sp 46d2ec80  lr afd154c5  pc afd11dc4  cpsr 40000030
01-14 18:00:51.643: I/DEBUG(31):          #00  pc 00011dc4  /system/lib/libc.so
01-14 18:00:51.643: I/DEBUG(31):          #01  pc 0000be1c  /system/lib/libc.so
01-14 18:00:51.643: I/DEBUG(31): code around pc:
01-14 18:00:51.643: I/DEBUG(31): afd11da4 1c2bd00b 2d00682d e026d1fb 2b0068db 
01-14 18:00:51.643: I/DEBUG(31): afd11db4 4e17d003 51a02001 4d164798 24002227 
01-14 18:00:51.643: I/DEBUG(31): afd11dc4 f7fb702a 2106ee14 ef10f7fc 05592380 
01-14 18:00:51.643: I/DEBUG(31): afd11dd4 6091aa01 1c116054 94012006 eab6f7fc 
01-14 18:00:51.643: I/DEBUG(31): afd11de4 2200a905 f7fc2002 f7fbeac2 2106ee00 
01-14 18:00:51.653: I/DEBUG(31): code around lr:
01-14 18:00:51.653: I/DEBUG(31): afd154a4 b0834a0d 589c447b 26009001 686768a5 
01-14 18:00:51.653: I/DEBUG(31): afd154b4 220ce008 2b005eab 1c28d003 47889901 
01-14 18:00:51.653: I/DEBUG(31): afd154c4 35544306 d5f43f01 2c006824 b003d1ee 
01-14 18:00:51.653: I/DEBUG(31): afd154d4 bdf01c30 0002ae7c 000000d4 1c0fb5f0 
01-14 18:00:51.653: I/DEBUG(31): afd154e4 43551c3d a904b087 1c16ac01 604d9004 
01-14 18:00:51.653: I/DEBUG(31): stack:
01-14 18:00:51.653: I/DEBUG(31):     46d2ec40  00000015  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec44  afd1453b  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec48  afd405a0  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec4c  afd4054c  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec50  00000000  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec54  afd154c5  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec58  00000000  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec5c  afd1450d  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec60  afd41724  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec64  afd40328  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec68  00000000  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec6c  00001728  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec70  00000000  
01-14 18:00:51.653: I/DEBUG(31):     46d2ec74  afd147ab  /system/lib/libc.so
01-14 18:00:51.653: I/DEBUG(31):     46d2ec78  df002777  
01-14 18:00:51.663: I/DEBUG(31):     46d2ec7c  e3a070ad  
01-14 18:00:51.663: I/DEBUG(31): #00 46d2ec80  8086caa4  /system/lib/libdvm.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec84  80870eea  /system/lib/libdvm.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec88  afd418dc  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec8c  afd10510  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec90  afd40328  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec94  fffffbdf  
01-14 18:00:51.663: I/DEBUG(31):     46d2ec98  afd40328  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ec9c  afd41724  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2eca0  0000a000  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2eca4  afd0be21  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31): #01 46d2eca8  afd40328  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ecac  afd0be21  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ecb0  418cb358  /dev/ashmem/dalvik-LinearAlloc (deleted)
01-14 18:00:51.663: I/DEBUG(31):     46d2ecb4  80846dad  /system/lib/libdvm.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ecb8  0011cda0  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2ecbc  00118b68  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2ecc0  44f461e0  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
01-14 18:00:51.663: I/DEBUG(31):     46d2ecc4  8083d9b9  /system/lib/libdvm.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ecc8  000013fc  
01-14 18:00:51.663: I/DEBUG(31):     46d2eccc  00130eb8  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2ecd0  44f461e0  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
01-14 18:00:51.663: I/DEBUG(31):     46d2ecd4  0011cda0  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2ecd8  00240c28  [heap]
01-14 18:00:51.663: I/DEBUG(31):     46d2ecdc  42c3d5f6  /data/dalvik-cache/system@[email protected]@classes.dex
01-14 18:00:51.663: I/DEBUG(31):     46d2ece0  4185ff7c  
01-14 18:00:51.663: I/DEBUG(31):     46d2ece4  afd0cd81  /system/lib/libc.so
01-14 18:00:51.663: I/DEBUG(31):     46d2ece8  0011cda0  [heap]
01-14 18:00:51.673: I/DEBUG(31):     46d2ecec  afc008e3  /system/lib/libstdc++.so
01-14 18:00:52.053: I/BootReceiver(59): Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)
01-14 18:00:52.073: D/Zygote(33): Process 407 terminated by signal (11)
01-14 18:00:52.143: D/dalvikvm(59): GC_FOR_MALLOC freed 2390 objects / 360624 bytes in 80ms
01-14 18:00:52.143: I/WindowManager(59): WIN DEATH: Window{450eb158 com.gigabites.fortune/com.gigabites.fortune.BuildActivity paused=false}
01-14 18:00:52.143: I/ActivityManager(59): Process com.gigabites.fortune (pid 407) has died.
01-14 18:00:52.154: I/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in com.gigabites.fortune
01-14 18:00:52.183: W/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 407 uid 10040
01-14 18:00:57.414: D/dalvikvm(255): GC_EXPLICIT freed 224 objects / 15056 bytes in 118ms
01-14 18:01:05.203: D/dalvikvm(262): GC_EXPLICIT freed 2061 objects / 147680 bytes in 127ms
01-14 18:01:06.103: D/SntpClient(59): request time failed: java.net.SocketException: Address family not supported by protocol

Edits: Added logcat and tried to run using a basic XML layout on setContentView() to make sure it has nothing to do with my layout.

最佳回答

您的支持者是否正确? 请看你一位精彩的编辑,确保你有一张纸张。

问题回答

暂无回答




相关问题
Android - ListView fling gesture triggers context menu

I m relatively new to Android development. I m developing an app with a ListView. I ve followed the info in #1338475 and have my app recognizing the fling gesture, but after the gesture is complete, ...

AsyncTask and error handling on Android

I m converting my code from using Handler to AsyncTask. The latter is great at what it does - asynchronous updates and handling of results in the main UI thread. What s unclear to me is how to handle ...

Android intent filter for a particular file extension?

I want to be able to download a file with a particular extension from the net, and have it passed to my application to deal with it, but I haven t been able to figure out the intent filter. The ...

Android & Web: What is the equivalent style for the web?

I am quite impressed by the workflow I follow when developing Android applications: Define a layout in an xml file and then write all the code in a code-behind style. Is there an equivalent style for ...

TiledLayer equivalent in Android [duplicate]

To draw landscapes, backgrounds with patterns etc, we used TiledLayer in J2ME. Is there an android counterpart for that. Does android provide an option to set such tiled patterns in the layout XML?

Using Repo with Msysgit

When following the Android Open Source Project instructions on installing repo for use with Git, after running the repo init command, I run into this error: /c/Users/Andrew Rabon/bin/repo: line ...

Android "single top" launch mode and onNewIntent method

I read in the Android documentation that by setting my Activity s launchMode property to singleTop OR by adding the FLAG_ACTIVITY_SINGLE_TOP flag to my Intent, that calling startActivity(intent) would ...

From Web Development to Android Development

I have pretty good skills in PHP , Mysql and Javascript for a junior developer. If I wanted to try my hand as Android Development do you think I might find it tough ? Also what new languages would I ...

热门标签