关于Android程序闪退的错误日志 10C

编写了一个包含listview的页面,listview基于另外一个activity可以通过按钮进行操作
但是在打开程序时出现了闪退现象,求大神帮忙解读一下错误日志,感谢
04-13 23:39:21.103: D/ResourcesManager(18150): For user 0 new overlays fetched Null
04-13 23:39:21.113: W/System(18150): ClassLoader referenced unknown path: /data/app/com.example.newrecorder-1/lib/arm64
04-13 23:39:21.173: D/AbsListView(18150): Get MotionRecognitionManager
04-13 23:39:21.183: E/MotionRecognitionManager(18150): mSContextService = android.hardware.scontext.ISContextService$Stub$Proxy@23c9d5e
04-13 23:39:21.183: E/MotionRecognitionManager(18150): motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@75d53f
04-13 23:39:21.183: E/MotionRecognitionManager(18150): motionService = com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@75d53f
04-13 23:39:21.183: I/MediaPlayer(18150): Need to enable context aware info
04-13 23:39:21.183: V/MediaPlayer-JNI(18150): native_setup
04-13 23:39:21.193: E/ExtMediaPlayer-JNI(18150): env->IsInstanceOf fails
04-13 23:39:21.193: E/MediaPlayer-JNI(18150): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
04-13 23:39:21.193: E/ExtMediaPlayer-JNI(18150): env->IsInstanceOf fails
04-13 23:39:21.193: E/MediaPlayer-JNI(18150): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
04-13 23:39:21.193: V/MediaPlayer(18150): constructor
04-13 23:39:21.193: V/MediaPlayer(18150): setListener
04-13 23:39:21.193: D/AndroidRuntime(18150): Shutting down VM
04-13 23:39:21.193: E/AndroidRuntime(18150): FATAL EXCEPTION: main
04-13 23:39:21.193: E/AndroidRuntime(18150): Process: com.example.newrecorder, PID: 18150
04-13 23:39:21.193: E/AndroidRuntime(18150): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.newrecorder/com.example.newrecorder.MainActivity}: java.lang.RuntimeException: setAudioSource failed.
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3254)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread.access$1100(ActivityThread.java:223)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.os.Handler.dispatchMessage(Handler.java:102)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.os.Looper.loop(Looper.java:148)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread.main(ActivityThread.java:7224)
04-13 23:39:21.193: E/AndroidRuntime(18150): at java.lang.reflect.Method.invoke(Native Method)
04-13 23:39:21.193: E/AndroidRuntime(18150): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
04-13 23:39:21.193: E/AndroidRuntime(18150): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
04-13 23:39:21.193: E/AndroidRuntime(18150): Caused by: java.lang.RuntimeException: setAudioSource failed.
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.media.MediaRecorder._setAudioSource(Native Method)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.media.MediaRecorder.setAudioSource(MediaRecorder.java:488)
04-13 23:39:21.193: E/AndroidRuntime(18150): at com.example.newrecorder.MainActivity.onCreate(MainActivity.java:57)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.Activity.performCreate(Activity.java:6877)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)
04-13 23:39:21.193: E/AndroidRuntime(18150): ... 9 more
04-13 23:39:23.273: I/Process(18150): Sending signal. PID: 18150 SIG: 9

8个回答

是不是你的什么控件没有初始化啊

04-13 23:39:21.113: W/System(18150): ClassLoader referenced unknown path: /data/app/com.example.newrecorder-1/lib/arm64
感觉这句话比较关键,你可以看一下提到的那个路径,是不是什么jar包没有add to path之类的

第一句(04-13 23:39:21.103)就说明你取到了 Null 值,没有考虑过对 Null 的处理吧,导致一路错下去最后闪退了。

04-13 23:39:21.193: E/AndroidRuntime(18150): Caused by: java.lang.RuntimeException: setAudioSource failed.
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.media.MediaRecorder._setAudioSource(Native Method)
04-13 23:39:21.193: E/AndroidRuntime(18150): at android.media.MediaRecorder.setAudioSource(MediaRecorder.java:488)
setAudioSource failed
网上看到说是权限的问题,你可以参考试试
http://blog.csdn.net/lissdy/article/details/7039332

ClassLoader referenced unknown path: /data/app/com.example.newrecorder-1/lib/arm64 是不是用了SO包 然后没有导入对应arm64平台的

你的问题是setAudioSource failed.应该是有些控件没有被初始化

你确定输入的地址是正确或者是可用的嘛?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android现网错误日志的处理。
例如: 错误类型有:error.screen.blank,error.play,error.screen.blank。 错误的详细日志: error.screen.blank 当前有网络 java.lang.Exception LOAD_CHAPTER_ERROR加载信息错误 bookId 30992chapterId 363 com.readtech.hmreader.app.book.e.n.onFailureSourceFile210 Caused by java.net.SocketTimeoutException timeout d.s.aSourceFile227 Caused by java.net.SocketException Socket closed java.net.SocketInputStream.socketRead0Native Method java.net.SocketInputStream.readSocketInputStream.java151 java.net.SocketInputStream.readSocketInputStream.java120 d.q.aSourceFile138 d.c.aSourceFile236 d.u.bSourceFile66 d.u.aSourceFile59 d.u.nSourceFile284 c.a.d.ac.bSourceFile445 c.a.d.ac.aSourceFile426 d.e.aSourceFile996 d.u.aSourceFile189 c.al.eSourceFile174 com.iflytek.lab.net.RequestManager.handleResponseSourceFile97 com.iflytek.lab.net.RequestManager.access100SourceFile38 com.iflytek.lab.net.RequestManager1.onResponseSourceFile84 c.afa.bSourceFile135 c.a.b.runSourceFile32 java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java1133 java.util.concurrent.ThreadPoolExecutorWorker.runThreadPoolExecutor.java607 java.lang.Thread.runThread.java761 这些数据有几十万条,我该怎样分析归类啊? 有没有哪位大神有过Android错误日志的处理经验。 求一个处理的小程序。
android APP连接mysql时,APP闪退
安卓程序连接MySQL一直不成功,本地连接可以。我是用手机调试的,点击接mysql按钮时,APP闪退。在网上找了好多方法都不行。求看看什么问题 错误日志如下: 2019-08-25 08:25:33.377 5570-5570/mark.zhang E/AndroidRuntime: FATAL EXCEPTION: main Process: mark.zhang, PID: 5570 java.lang.IllegalStateException: Could not execute method for android:onClick at android.view.View$DeclaredOnClickListener.onClick(View.java:5692) at android.view.View.performClick(View.java:6663) at android.view.View.performClickInternal(View.java:6635) at android.view.View.access$3100(View.java:794) at android.view.View$PerformClick.run(View.java:26199) at android.os.Handler.handleCallback(Handler.java:907) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7625) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.view.View$DeclaredOnClickListener.onClick(View.java:5687) at android.view.View.performClick(View.java:6663)  at android.view.View.performClickInternal(View.java:6635)  at android.view.View.access$3100(View.java:794)  at android.view.View$PerformClick.run(View.java:26199)  at android.os.Handler.handleCallback(Handler.java:907)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:216)  at android.app.ActivityThread.main(ActivityThread.java:7625)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)  Caused by: java.lang.BootstrapMethodError: Exception from call site #39 bootstrap method at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.<clinit>(AbandonedConnectionCleanupThread.java:58) at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:453) at java.lang.Class.forName(Class.java:378) at com.mysql.cj.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java:99) at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:453) at java.lang.Class.forName(Class.java:378) at mark.zhang.Util.openConnection(Util.java:16) at mark.zhang.Main.onConn(Main.java:30) at java.lang.reflect.Method.invoke(Native Method)  at android.view.View$DeclaredOnClickListener.onClick(View.java:5687)  at android.view.View.performClick(View.java:6663)  at android.view.View.performClickInternal(View.java:6635)  at android.view.View.access$3100(View.java:794)  at android.view.View$PerformClick.run(View.java:26199)  at android.os.Handler.handleCallback(Handler.java:907)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:216)  at android.app.ActivityThread.main(ActivityThread.java:7625)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)  Caused by: java.lang.ClassCastException: Bootstrap method returned null at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.<clinit>(AbandonedConnectionCleanupThread.java:58)  at java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:453)  at java.lang.Class.forName(Class.java:378)  at com.mysql.cj.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java:99)  at java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:453)  at java.lang.Class.forName(Class.java:378)  at mark.zhang.Util.openConnection(Util.java:16)  at mark.zhang.Main.onConn(Main.java:30)  at java.lang.reflect.Method.invoke(Native Method)  at android.view.View$DeclaredOnClickListener.onClick(View.java:5687)  at android.view.View.performClick(View.java:6663)  at android.view.View.performClickInternal(View.java:6635)  at android.view.View.access$3100(View.java:794)  at android.view.View$PerformClick.run(View.java:26199)  at android.os.Handler.handleCallback(Handler.java:907)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:216)  at android.app.ActivityThread.main(ActivityThread.java:7625)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)  2019-08-25 08:25:33.398 5570-5570/mark.zhang I/Process: Sending signal. PID: 5570 SIG: 9 源码如下: 这是util.java ``` package mark.zhang; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Util { public static Connection openConnection(String url, String user, String password) { Connection conn = null; try { final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver"; Class.forName(DRIVER_NAME); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { conn = null; } catch (SQLException e) { conn = null; } return conn; } public static void query(Connection conn, String sql) { if (conn == null) { return; } Statement statement = null; ResultSet result = null; try { statement = conn.createStatement(); result = statement.executeQuery(sql); if (result != null && result.first()) { int idColumnIndex = result.findColumn("id"); int nameColumnIndex = result.findColumn("name"); System.out.println("id\t\t" + "name"); while (!result.isAfterLast()) { System.out.print(result.getString(idColumnIndex) + "\t\t"); System.out.println(result.getString(nameColumnIndex)); result.next(); } } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (result != null) { result.close(); result = null; } if (statement != null) { statement.close(); statement = null; } } catch (SQLException sqle) { } } } public static boolean execSQL(Connection conn, String sql) { boolean execResult = false; if (conn == null) { return execResult; } Statement statement = null; try { statement = conn.createStatement(); if (statement != null) { execResult = statement.execute(sql); } } catch (SQLException e) { execResult = false; } return execResult; } } ``` 这是main.java ``` package mark.zhang; import com.mysql.cj.jdbc.AbandonedConnectionCleanupThread; import java.sql.Connection; import java.sql.SQLException; import androidx.appcompat.app.AppCompatActivity; import android.app.Activity; import android.os.Bundle; import android.view.View; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main extends Activity { private static final String REMOTE_IP = "223.104.64.237"; private static final String URL = "jdbc:mysql://223.104.64.237:3306/mydb?useSSL=false&serverTimezone=GMT&characterEncoding=utf-8&autoReconnect=true"; private static final String USER = "root"; private static final String PASSWORD = "123"; private Connection conn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onConn(View view) { conn = Util.openConnection(URL, USER, PASSWORD); /* final Thread thread = new Thread(new Runnable() { @Override public void run() { // 反复尝试连接,直到连接成功后退出循环 while (!Thread.interrupted()) { try { Thread.sleep(100); // 每隔0.1秒尝试连接 } catch (InterruptedException e) { System.out.println("链接数据库"); } // 2.设置好IP/端口/数据库名/用户名/密码等必要的连接信息 String url="jdbc:mysql://223.104.64.237:3306/mydb?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true"; String user = "root"; String password = "123"; // 3.连接JDBC try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url,user,password); System.out.println("远程连接成功!"); conn.close(); return; } catch (SQLException e) { System.out.println("远程连接失败!"); } catch (ClassNotFoundException e){ } } } }); thread.start();*/ } public void onInsert(View view) { String sql = "insert into mytable values(9, 'hanmeimei')"; Util.execSQL(conn, sql); } public void onDelete(View view) { String sql = "delete from mytable where name='mark'"; Util.execSQL(conn, sql); } public void onUpdate(View view) { String sql = "update mytable set name='李磊' where name='韩美'"; Util.execSQL(conn, sql); } public void onQuery(View view) { System.out.println("All users info:"); Util.query(conn, "select * from mytable"); } @Override protected void onDestroy() { super.onDestroy(); if (conn != null) { try { conn.close(); } catch (SQLException e) { conn = null; } finally { conn = null; } } } } ```
编写了一个百度地图定位的Android程序,结果一点击就直接退出来,各位帮我看看,错误日志如下
08-09 09:19:59.057 25412-25412/? I/art: Late-enabling -Xcheck:jni 08-09 09:19:59.057 25412-25412/? I/art: Reinit property: dalvik.vm.checkjni= false 08-09 09:19:59.190 25412-25412/com.example.tsun.campusnav I/InstantRun: starting instant run server: is main process 08-09 09:19:59.210 25412-25412/com.example.tsun.campusnav I/HwCust: Constructor found for class android.app.HwCustActivityImpl 08-09 09:19:59.228 25412-25412/com.example.tsun.campusnav E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.tsun.campusnav, PID: 25412 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.tsun.campusnav/com.example.tsun.campusnav.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2692) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6531) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:118) at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:152) at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:29) at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:53) at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:31) at android.support.v7.app.AppCompatDelegateImplN.<init>(AppCompatDelegateImplN.java:31) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:200) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:184) at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:518) at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:189) at com.example.tsun.campusnav.MainActivity.<init>(MainActivity.java:41) at java.lang.Class.newInstance(Native Method) at android.app.Instrumentation.newActivity(Instrumentation.java:1083) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2682) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:156)  at android.app.ActivityThread.main(ActivityThread.java:6531)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)  08-09 09:19:59.235 25412-25412/com.example.tsun.campusnav I/Process: Sending signal. PID: 25412 SIG: 9
Android 写事件监听 真机调试出现闪退(我是新手,刚学Android,求大神指教)
这是我的程序: ImageView imageView = (ImageView) findViewById(R.id.login_image); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 这是错误日志: 03-08 18:10:43.557 9816-9816/com.example.administrator.happyread E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.administrator.happyread, PID: 9816 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.administrator.happyread/com.example.administrator.happyread.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) at android.app.ActivityThread.access$1200(ActivityThread.java:165) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5593) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:967) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.example.administrator.happyread.MainActivity.onCreate(MainActivity.java:54) at android.app.Activity.performCreate(Activity.java:6102) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)  at android.app.ActivityThread.access$1200(ActivityThread.java:165)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5593)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:967)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)  03-08 18:10:43.877 9816-9816/com.example.administrator.happyread I/Process: Sending signal. PID: 9816 SIG: 9 这是我调用的xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" android:background="@mipmap/k8" android:gravity="bottom" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:theme="@style/ThemeOverlay.AppCompat.Dark"> <ImageView android:id="@+id/login_image" android:layout_width="60dp" android:layout_height="60dp" android:layout_marginBottom="5dp" android:paddingTop="@dimen/nav_header_vertical_spacing" android:src="@mipmap/p9" /> <Button android:id="@+id/login_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#00000000" android:text="立即登录" android:layout_alignBottom="@+id/login_image" android:layout_toRightOf="@+id/login_image" android:layout_toEndOf="@+id/login_image" /> </RelativeLayout>
Android错误:Failed to install *.apk on device *: timeout
我一次又一次的得到这个错误,而且我不知道是什么引起的: 当在一个真实的设备(我的是Galaxy Samsung S)中运行/调试一个android应用的时候,我就在控制台得到了下边的错误提示: Failed to install *.apk on device *: timeout Launch canceled! 所有的控制台都是这样提示我的,但是日志没有显示任何信息。Eclipse问题视图也没有显示出任何问题。 我尝试了下边的步骤但是没有成功: 删除工程(工程->删除) 重启设备,Eclipse,电脑,以上的所有...... 将工程移动到没有共享空间的地方 这个应用程序在设备上已经被调试了很多次(应用程序是在应用市场的),但是这个问题经常发生,非常让人沮丧.... 如果有人能帮到我,我将会非常感激!谢谢。
Android Studio 运行程序时出现安装失败错误,只要是真机都是这个错误!!虚拟机就没事儿!
我运行一个Android项目,只要用虚拟机就可以安装。但一旦用真机(我使用了三个手机:小米、华为、三星) 就报出如下错误: ![图片说明](https://img-ask.csdn.net/upload/201607/22/1469154861_309100.png) 网上大致有三个版本:一说内存满了,三个手机都内存很足。二是说修改mainfast里provider,我想说我的demo里没有设置provider。后来我自己手动设置了,还是报同样错误,所以不是这个问题。三是说数据线问题,换了两根,一样。所以求大神告诉我怎么办!!!!!! 下面是后台错误日志提示:: ![图片说明](https://img-ask.csdn.net/upload/201607/22/1469155059_212570.png)
在Eclipse里面的Android程序为什么一运行就停止运行了
哪位大神帮帮忙!在线等挺急的 谢谢 没加事件光布局运行起来都停止响应 也没有错误提示 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.testimage.MainActivity$PlaceholderFragment" > <ImageView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:src="@drawable/ic_launcher" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/pre" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="上一张" /> <view android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <Button android:id="@+id/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一张" /> </LinearLayout> </LinearLayout> MainActivity.java package com.example.testimage; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.*; import android.os.Build; public class MainActivity extends ActionBarActivity implements OnClickListener{ private Button pre,next; private ImageView image; private int[] images={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d}; private int position=0; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pre=(Button)findViewById(R.id.pre); next=(Button)findViewById(R.id.next); pre.setOnClickListener(this); next.setOnClickListener(this); } public void onClick(View v) { switch(v.getId()) { case R.id.pre: position--; if(position<0){ position=images.length-1; } image.setImageResource(images[position]); break; case R.id.next: position++; if(position>=images.length){ position=0; } image.setImageResource(images[position]); break; default: break; } } } 错误日志 09-21 23:31:45.082: E/AndroidRuntime(8051): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 09-21 23:31:45.082: E/AndroidRuntime(8051): at dalvik.system.NativeStart.main(Native Method) 09-21 23:31:45.082: E/AndroidRuntime(8051): Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class null 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 09-21 23:31:45.082: E/AndroidRuntime(8051): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.app.Activity.setContentView(Activity.java:1881) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.support.v7.app.ActionBarActivity.superSetContentView(ActionBarActivity.java:216) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.support.v7.app.ActionBarActivityDelegateICS.setContentView(ActionBarActivityDelegateICS.java:111) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:76) 09-21 23:31:45.082: E/AndroidRuntime(8051): at com.example.testimage.MainActivity.onCreate(MainActivity.java:26) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.app.Activity.performCreate(Activity.java:5104) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092) 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 09-21 23:31:45.082: E/AndroidRuntime(8051): ... 11 more 09-21 23:31:45.082: E/AndroidRuntime(8051): Caused by: java.lang.NullPointerException 09-21 23:31:45.082: E/AndroidRuntime(8051): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684) 09-21 23:31:45.082: E/AndroidRuntime(8051): ... 25 more
android在真机调试时手机端与pc端通信失败
我写的一个通信程序,在android模拟器与pc端可以正常通信,但是用真机调试时就连接不上,查看错误日志,显示不能连接/192.168.....?
在eclipse里的Android程序为什么一运行就停止运行了?(新人求教)
package com.android.mytextview; import java.lang.reflect.Field; import android.support.v7.app.ActionBarActivity; import android.text.Html; import android.text.Html.ImageGetter; import android.text.method.LinkMovementMethod; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class MainActivity extends ActionBarActivity { public int getResourceId(String name) { try { Field feild = R.drawable.class.getField(name); return Integer.parseInt(feild.get(null).toString()); } catch (Exception e) { // TODO: handle exception } return 0; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) this.findViewById(R.id.textview3); textView.setTextColor(Color.BLACK); textView.setBackgroundColor(Color.WHITE); textView.setTextSize(20); String html = "艾斯<img src='image(1)'/>海贼<img src='image(2)'/>哆啦A梦<img src='image(3)'/><p>"; html += "传送门<a href='http://baidu.com'><img src='image(6)'></a>功夫熊猫<img src='image(4)'/>"; CharSequence charSequence = Html.fromHtml(html, new ImageGetter() { @Override public Drawable getDrawable(String source) { // TODO 自动生成的方法存根 Drawable drawable = getResources().getDrawable( getResourceId(source)); if (source.equals("image(3)")) { drawable.setBounds(0, 0, drawable.getIntrinsicWidth() / 2, drawable.getIntrinsicHeight() / 2); } else { drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); } return drawable; } }, null); textView.setText(charSequence); textView.setMovementMethod(LinkMovementMethod.getInstance()); } 这是错误日志 [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (1).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (1).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (1).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (2).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (2).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (2).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (3).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (3).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (3).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (4).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (4).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (4).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (6).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (6).png: Invalid file name: must contain only [a-z0-9_.] [2015-12-18 20:13:37 - android_textview1] res\drawable-hdpi-v4\image (6).png: Invalid file name: must contain only [a-z0-9_.]
android,各位大神扫一眼帮忙指点一下错误
![图片说明](https://img-ask.csdn.net/upload/201508/12/1439376420_917626.png) //选择图片之后对图片进行的操作 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode != RESULT_OK) { //此处的 RESULT_OK 是系统自定义得一个常量 System.out.println("error"); return; } if (requestCode == IMAGE_CODE) { sv.setVisibility(View.VISIBLE); Uri uri = data.getData(); //得到图片的路径 String[] proj = {MediaStore.Images.Media.DATA}; @SuppressWarnings("deprecation") Cursor cursor = managedQuery(uri, proj, null, null, null); //按我个人理解 这个是获得用户选择的图片的索引值 int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); //最后根据索引值获取图片路径 String path = cursor.getString(column_index); System.out.println("图片的路径为:"+path); picpath.add(path); int i=picpath.size(); System.out.println(""+i); //把图片加入界面中 ContentResolver cr = this.getContentResolver(); try { Bitmap bp = BitmapFactory.decodeStream(cr.openInputStream(uri)); int jiaodu=readPicDegree(path); Bitmap bitmap=rotateBitmap(jiaodu, bp); ImageView iv=new ImageView(WriteActivity.this); LayoutParams mParams = new LayoutParams(150, LayoutParams.WRAP_CONTENT); iv.setImageBitmap(bitmap); iv.setLayoutParams(mParams); iv.setScaleType(ScaleType.FIT_CENTER); lv.addView(iv,i);/////////////////////////////////////////////////错误在这一行////////////////////////////////////////////////////////////////////////////////////////////////////////////// } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 错误日志: 一添加ImageView就终止程序了~~~~~求解!!! ![图片说明](https://img-ask.csdn.net/upload/201508/12/1439376330_31817.png)
【Android】点击多任务键后闪出桌面应用图标后才显示任务列表
开发中遇见一个问题,当我点击多任务键时,本应该直接显示近期任务的,结果发现有的时候会先出现桌面应用的图标,然后才会显示近期任务。 经过多次尝试发现第一次运行程序或者清理完内存后都会出现这个问题,清理完内存后不再清理,就只有偶尔才会出现。 下面录了一小段问题的视频, 百度云盘链接:https://pan.baidu.com/s/1mhDeFEw 经过多款机型测试,有的手机完全没有这个问题出现(配置并不高),有的运行比较慢的手机每次都会出现,还有得就像我的测试机一样清完内存后出现。郁闷了好久,根本无从下手。 debug发现没有任何错误日志,我在代码里也没有拦截多任务键,理论来讲多任务键是由系统守护的,为什么会出现这个问题呢?解决方法是什么呢? 有人遇见这个问题嘛?求解!!!!!!!!!!!
android requestLayout() improperly called by错误
在写一个小东西,程序也能跑起来,就是会不断地打印出requestLayout() improperly called by 。查了资料,出现这个报错好像有蛮多原因,没找到具体的解决方法,求助,先谢过。 **错误貌似出现在这儿:**、 public class ImageText extends LinearLayout{ private Context mContext = null; private ImageView mImageView = null; private TextView mTextView = null; private final static int DEFAULT_IMAGE_WIDTH = 64; private final static int DEFAULT_IMAGE_HEIGHT = 64; private int CHECKED_COLOR = Color.rgb(29, 118, 199); // private int UNCHECKED_COLOR = Color.GRAY; // public ImageText(Context context) { super(context); mContext = context; Log.v("***imageText","***"); } public ImageText(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View parentView = inflater.inflate(R.layout.image_text_layout, this, true); mImageView = (ImageView)findViewById(R.id.iv_icon); mTextView = (TextView)findViewById(R.id.tv_text); Log.v("***imageText","***"); } public void setImage(int id){ if(mImageView != null){ mImageView.setImageResource(id); setImageSize(DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT); Log.v("***setImage","***"); } } public void setText(String s){ Log.v("***setText","***"); if(mTextView != null){ mTextView.setText(s); mTextView.setTextColor(UNCHECKED_COLOR); } } private void setImageSize(int w, int h){ if(mImageView != null){ ViewGroup.LayoutParams params = mImageView.getLayoutParams(); params.width = w; params.height = h; mImageView.setLayoutParams(params); } } public void setChecked(int itemID){ Log.v("***setChecked**","***"); if(mTextView != null){ mTextView.setTextColor(CHECKED_COLOR); } int checkDrawableId = -1; switch (itemID){ case Constant.BTN_FLAG_NEARBY: checkDrawableId = R.drawable.nearby_selected; break; case Constant.BTN_FLAG_MESSAGE: checkDrawableId = R.drawable.message_selected; break; case Constant.BTN_FLAG_DEAL: checkDrawableId = R.drawable.deal_selected; break; case Constant.BTN_FLAG_MY: checkDrawableId = R.drawable.my_selected; break; default:break; } if(mImageView != null){ mImageView.setImageResource(checkDrawableId); } } // @Override ``` // public boolean onInterceptTouchEvent(MotionEvent ev) { // return true; // } } ``` **错误信息,无限地输出日志**: 11-14 13:31:33.710 9046-9046/org.vecrates W/View: requestLayout() improperly called by org.vecrates.ui.ImageText{787c549 V.E...C.. ......I. 438,40-536,170 #7f0b0059 app:id/btn_message} during second layout pass: posting in next frame 11-14 13:31:33.710 9046-9046/org.vecrates W/View: requestLayout() improperly called by org.vecrates.ui.ImageText{2616e4e V.E...C.. ......I. 806,40-904,170 #7f0b005a app:id/btn_deal} during second layout pass: posting in next frame 11-14 13:31:33.726 9046-9046/org.vecrates W/View: requestLayout() improperly called by org.vecrates.ui.ImageText{787c549 V.E...C.. ......I. 438,40-536,170 #7f0b0059 app:id/btn_message} during layout: running second layout pass 11-14 13:31:33.726 9046-9046/org.vecrates W/View: requestLayout() improperly called by org.vecrates.ui.ImageText{2616e4e V.E...C.. ......I. 806,40-904,170 #7f0b005a app:id/btn_deal} during layout: running second layout pass 11-14 13:31:33.726 9046-9046/org.vecrates W/View: requestLayout() improperly called by org.vecrates.ui.ImageText{787c549 V.E...C.. ......I. 438,40-536,170 #7f0b0059 app:id/btn_message} during second layout
Android Socket发送数据遇到的奇怪问题
向各位大虾求救!!! 写一段简单的Android网络通讯程序,发现总是发送数据发了100上下字节(每次8个字节),然后就发不出去了,但是也没有任何异常抛出,检查所有状态都正常。 有谁知道这可能是什么情况? 连接代码是这样的: mSocket=new Socket(mStrIP, mPort); mSocket.setTcpNoDelay(true); // disable Nagle algorithm mSocket.setKeepAlive(true); mInputStream=mSocket.getInputStream(); mOutputStream = mSocket.getOutputStream(); 数据发送代码。(所有错误日志都没有打印出来) if (socket.isOutputShutdown()) Log.e(TAG, "Output is Shutdown"); if (socket.isInputShutdown()) Log.e(TAG, "Input is Shutdown"); if (socket.isClosed()) Log.e(TAG, "Socket is closed"); if (!socket.isConnected()) Log.e(TAG, "Socket is disconnected"); mOutputStream.write(data); mOutputStream.flush(); 建立网络连接和发送数据都是在同一个后台服务的子线程通过handle的形式处理。 网络环境就是WiFi
Android软件使用TCP进行通信,连接不到服务端,在同一子网,代码跟异常日志都有,请大神指教
客户端线程: class BB1 extends Thread{ public void run() { try { System.out.println("hahahha"); Socket client=new Socket(ipadress,PORT); System.out.println(client.getPort()); mingling="ok"; StringReader sr=new StringReader(mingling); BufferedReader br=new BufferedReader(sr); PrintWriter pw; pw=new PrintWriter(client.getOutputStream()); pw.write(br.readLine()); runOnUiThread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "数据已经传输成功", Toast.LENGTH_SHORT).show(); } }); pw.close(); br.close(); } catch(IOException e) { e.printStackTrace(); System.out.println("----------------------------------------------"); System.out.println(e.getMessage()); System.out.println("----------------------------------------------"); } } } 服务器端线程: class thread1 implements Runnable { private Socket socket; private ServerSocket ss; public void run() { try{ ss=new ServerSocket(25000); System.out.println("Server OK"); while(true) { socket=ss.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); System.out.println("connected!"); System.out.println("you input is:"+br.readLine()); } } catch(IOException e) { e.printStackTrace(); } } } 异常日志显示的错误: ![图片说明](https://img-ask.csdn.net/upload/201506/14/1434289379_879336.png) 请各位大神指点迷津~~~~~~~~~~~~~~~~~~~~~~~~
Android tabactivity问题
程序中TabActivity类不能运行。一下是实现这个类的代码: public class Profile extends TabActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final TabHost tabHost = getTabHost(); if (tabHost.isEnabled()) { Log.e("profile", "enabled"); } tabHost.addTab(tabHost.newTabSpec(getString(R.string.friendReqs)) .setIndicator("requests") .setContent(new Intent(this, FriendRequests.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); tabHost.addTab(tabHost.newTabSpec(getString(R.string.friends)) .setIndicator("photo list") .setContent(new Intent(this, Settings.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))); Log.e("profile", "add tabs"); tabHost.invalidate(); } } 问题是,我想从main activity (MapActivity) 类中调用现在这个类,但是当我执行TabActivity时又不显示。在菜单选项点击注册时,程序开始执行intent,但屏幕并没有改变。程序还是停留在main activity,我看到的日志中的main activity已经恢复。我又这样调用: Intent p = new Intent(this,Profile.class); p.putExtra(DBAdapter.KEY_USERID,userid); startActivity(p); 没有提示错误,我也在tabactivity的 onCreate 函数中写入日志命令。我不知道问题出在哪里,大家能提供帮助吗?
android中如何向系统中添加联系人数据
以下是我的代码,但是总是添加的时候程序会崩溃,也没有错误的日志,麻烦哪位大神帮忙一下 ContentValues values = new ContentValues(); //先向RawContact.CONTENT_URI执行一个控制插入,目的是获得系统返回的rawContacctId Uri rawContactUri = this.getApplicationContext().getContentResolver() .insert(ContactsContract.RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); //往data表里写入姓名数据 values.clear(); values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId); values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE); //内容类型 values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, information[0]); this.getApplicationContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
android studio自定义标题报错:您不能将自定义标题与其他标题功能组合在一起
问题描述: 小弟下载了网上的一段代码,具体内容无关,eclipse代码转移到android studio上。 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); 这三行是用于更改界面标题的经典做法,我继承了Activity类,在manifest文件中自定义了theme为一个简易style,然后又在layout内写了一个名为上面三行第三行中的custom-title的xml文件,最后程序报错You cannot combine custom titles with other title features(用了log日志显示在第二行挂了) 问题分析:小弟根据网上的意见各种改,但是想来想去这种更改标题栏的方式一点问题没有,为什么一直报我重复定义的错?先是manifest定义一个基本框架theme,然后再setcontent主界面,再将标题栏的xml文件加载进去emmmmm 。按照错误提示我是多定义了一次标题,但这三句是主程序里oncreat的初始部分,报错就说明我manifest里面有问题?可我又是自定义theme 我用的最低API11,目标25,网上有说这种更改标题栏方式必须降到11以下才行,那这样我就得下个新的SDK。也有说法是继承APPcompatactivity用别的方式就ok了。 是否有哪位大佬曾经在android studio下更改标题栏遇到过类似问题,小弟在此求解,万分感谢!
Android在这种情况下应不应该使用枚举
问题背景: 我们假设这样一种需求,需要在程序运行中,根据不同的网络请求错误显示不同的错误码(errorCode),有的时候还要把错误信息(errorMsg)记入日志。那么认为errorCode和errorMsg存在一对一的映射,所以自然想到利用一个枚举类型表示: public class enum{ A("1001","errorMsg1"), B("1002","errorMsg2"), C("1003","errorMsg3"), D("1004","errorMsg4"), ...; //属性声明(都是字符串) public String errorCode; public String errorMsg; //构造方法略 } 我的问题: 枚举的开销是比较大的,现在程序需要最大限度节省手机内存还要保证代码的优雅。 但是我并不知道对于String保存类型的数据,用不用枚举的差别是否很大?(我的枚举大约会有20项)。 如果真的要避免使用枚举,那么如何在保证代码优雅的基础上实现这种需求(期望程序员只需要在某种错误情况下把代表错误的枚举变量保存起来,而不需要关心内部errorCode和errorMsg的映射关系)
HttpURLConnection测试程序崩溃
今天照《第一行代码》第10章敲出来的HttpURLConnection测试程序运行之后一直闪退,求大神指点,小白拜谢! 错误日志如下: ![图片说明](https://img-ask.csdn.net/upload/201602/05/1454676432_247741.png) ![图片说明](https://img-ask.csdn.net/upload/201602/05/1454676448_254545.png) 代码如下: ``` package com.example.networktest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.app.ActionBar; import android.app.AlertDialog.Builder; import android.app.Fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.os.Build; public class MainActivity extends Activity implements OnClickListener { public static final int SHOW_RESPONSE = 0; private TextView textView; private Button button; private Handler handler = new Handler() { public void handlerMessage(Message msg) { switch (msg.what) { case SHOW_RESPONSE: String response = (String) msg.obj; // 更新UI操作 textView.setText(response); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); textView = (TextView) findViewById(R.id.sendRequest); button = (Button) findViewById(R.id.responseText); button.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub if (v.getId() == R.id.sendRequest) { sendRequsetWithHttpURLConnection(); } } private void sendRequsetWithHttpURLConnection() { // 开启线程来发起网络请求 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub HttpURLConnection connection = null; try { URL url = new URL("http://www.baidu.com"); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setConnectTimeout(8000); connection.setReadTimeout(8000); InputStream in = connection.getInputStream(); // 对获取到的输入流进行解析 BufferedReader reader = new BufferedReader( new InputStreamReader(in)); StringBuilder response = new StringBuilder(); String line ; while ((line=reader.readLine()) != null) { response.append(line); } // 发送返回结果 Message message = new Message(); message.what = SHOW_RESPONSE; message.obj = response.toString(); handler.sendMessage(message); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } } } }).start(); } } ```
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问