小编Tec*_*ist的帖子

Android应用程序在崩溃/强制关闭时重新启动

我的android应用程序在强制关闭后重新启动,通过我的整个应用程序,包括20个活动,我依赖于在主要活动上创建的静态数据.因此,一旦应用程序崩溃,我的所有静态数据都会丢失,当应用程序自动重启时,它几乎没有任何基本数据可供操作.

我的问题是,在崩溃时我希望这件事发生

  1. 如果应用程序崩溃,我不希望应用程序重新启动,而我希望与此应用程序相关的所有堆栈/任务都被清除内存.用户可以再次从头重新启动它
  2. 如果我无法阻止应用重启,至少我想保留基本数据,以便在应用重启时我可以将它们分配回来.此外,当它重新启动时,我希望我的应用程序从主要活动开始.

我知道当活动崩溃时,android系统会将堆栈中的下一个活动带到前台,这就是我的应用程序产生冗余结果的原因.我也经历了Android开发人员,但我唯一知道的是在Manifest中设置一个属性android:finishOnTaskLaunch="true".但不幸的是,这对我毫无帮助.我非常感谢你帮助解决这个问题,并让我知道原因和分析.

crash stack android forceclose

41
推荐指数
2
解决办法
4万
查看次数

准备语句参数索引超出范围(0 <1)

我不是Web应用程序的专家,最近我正在使用servlet为我的移动应用程序编写一个小的webapp.我的议程是从客户端接收数据,并将其放入数据库.一切都运行正常,除了我的数据库插入语句,我试图使用PreparedStatement实现.

// This is how my insert statement looks like
private String INSERT_INTO_DEVICES = "INSERT INTO travlemate.devices (owner,"
        + "deviceid,gcmid) VALUES (?,?,?)"; 

// This is how am trying to insert
PreparedStatement preparedStmt = mConn.prepareStatement(INSERT_INTO_DEVICES);
preparedStmt.setString(0, data.getDeviceNumber());
preparedStmt.setString(1, data.getDeviceID());
preparedStmt.setString(2,data.getGcmId());
preparedStmt.execute();
mConn.close();
Run Code Online (Sandbox Code Playgroud)

但在执行此任务时,我收到以下异常

java.sql.SQLException: Parameter index out of range (0 < 1 ).
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
    at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2791)
    at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:3627)
    at com.mkgcorp.travelweb.data.DataManager.registerGCMData(DataManager.java:35)
    at com.mkgcorp.travelweb.controller.Loader.doPost(Loader.java:46)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) …
Run Code Online (Sandbox Code Playgroud)

java jdbc prepared-statement

10
推荐指数
2
解决办法
2万
查看次数

java.net.ProtocolException:意外的流结束

我面临一个奇怪的问题,我无法调试它.我已经实现用于上载的数据的流,并且正在使用排球对于相同的逻辑,我已经定制的逻辑点点HurlStack,addBodyIfExistsAPI,所以类型"application /八位字节流"的该机构可以处理.

我的逻辑是将进度发布给用户,以便可以更新UI,指示用户在上传中的进度,低于我的逻辑.

            int toRead = length; // File length
            byte[] data = new byte[4096];
            connection.setDoOutput(true);
            if(length != -1) {
                connection.setFixedLengthStreamingMode(length);
            } else {
                connection.setChunkedStreamingMode(4096);
            }

            OutputStream os;
            int i;
            int count;

            os = connection.getOutputStream();
            int progress= 0;

               try {
                    for(i = 0; (count= is.read(data)) > 0; ++i) { // is, is not null and contains a valid input stream
                        os.write(data, 0, count); // at this line am getting unexpected end of stream
                        progress+= count;
                        if(i …
Run Code Online (Sandbox Code Playgroud)

android android-volley okhttp

10
推荐指数
1
解决办法
2万
查看次数

java.lang.IllegalArgumentException:在触发get请求时,主机名可能不为null

我将非常感谢您对此的帮助,下面是我正在尝试执行的代码,但所有我得到的是这个例外,我做了很多更改,但我无法解决这个问题.

如果你有任何指针,请告诉我,我在Android 4.4.4上运行

HttpGet request = new HttpGet("https://s3­-eu-­west-­1.amazonaws.com/developer-application-­test/cart/list");
resp = client.execute(request);

01-22 22:25:03.885: W/System.err(14697): java.lang.IllegalArgumentException: Host name may not be null
01-22 22:25:03.886: W/System.err(14697):    at org.apache.http.HttpHost.<init>(HttpHost.java:83)
01-22 22:25:03.886: W/System.err(14697):    at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:508)
01-22 22:25:03.886: W/System.err(14697):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:498)
01-22 22:25:03.886: W/System.err(14697):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:476)
Run Code Online (Sandbox Code Playgroud)

java apache android http

4
推荐指数
1
解决办法
1万
查看次数

数据库连接池[Hikari]初始化错误

我正在尝试为我的Web应用程序配置HikariCP.我没有使用任何框架,它是一个简单的Java Web应用程序.当我尝试通过普通JDBC建立连接时,它成功了,我能够执行所有数据库操作.

但是,当我试图获得连接池的连接时,我在初始化后得到一个异常,我不知道.

下面是我正在使用的配置,我在上下文监听器中初始化它.我在Java 1.7上运行,使用HikariCP Java 6依赖2.3.2的Tomcat容器

import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.mkgcorp.travelweb.util.TLog;
import com.sun.jersey.core.util.Base64;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

public class CPInit implements ServletContextListener{

    private final static String TAG = CPInit.class.getSimpleName();
    private static HikariConfig mConfig;
    private static HikariDataSource mDataSource;

    public static String POOL_NAME = "TripPool";
    public static int POOL_SIZE = 10;
    public static int TIME_OUT = 30*1000;
    public static int MIN_IDLE_SIZE = 2;
    public static boolean isDebuggable;

    private String PASSWORD = "YWRtaW4=";


    public CPInit(){
        String string …
Run Code Online (Sandbox Code Playgroud)

java database-connection connection-pooling web-applications hikaricp

4
推荐指数
1
解决办法
2万
查看次数