精华内容
下载资源
问答
  • 问题描述我按了修改按钮之后,本来会执行数据库命令,为什么按了之后会停止运行?问题出现的环境背景及自己尝试过哪些方法我本想练习一下Android studio连接SQL server并执行sql语句相关代码// 请把代码文本粘贴到...

    问题描述

    我按了修改按钮之后,本来会执行数据库命令,为什么按了之后会停止运行?

    问题出现的环境背景及自己尝试过哪些方法

    我本想练习一下Android studio连接SQL server并执行sql语句

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    1.MainActivity.java:

    package com.example.myapplication;

    import android.os.Bundle;

    import android.view.Menu;

    import android.view.MenuItem;

    import android.view.View;

    import android.widget.Button;

    import android.widget.TextView;

    import androidx.appcompat.app.AppCompatActivity;

    import androidx.appcompat.widget.Toolbar;

    import com.google.android.material.floatingactionbutton.FloatingActionButton;

    public class MainActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Toolbar toolbar = findViewById(R.id.toolbar);

    setSupportActionBar(toolbar);

    final TextView text=(TextView)findViewById(R.id.text);

    Button button=(Button)findViewById(R.id.button);

    FloatingActionButton fab = findViewById(R.id.fab);

    button.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    text.setText(DBUtil.QuerySQL());

    }

    });

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.

    getMenuInflater().inflate(R.menu.menu_main, menu);

    return true;

    }

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    // Handle action bar item clicks here. The action bar will

    // automatically handle clicks on the Home/Up button, so long

    // as you specify a parent activity in AndroidManifest.xml.

    int id = item.getItemId();

    //noinspection SimplifiableIfStatement

    if (id == R.id.action_settings) {

    return true;

    }

    return super.onOptionsItemSelected(item);

    }

    }

    2.DBUtil.java:

    package com.example.myapplication;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.ResultSet;

    import java.sql.SQLException;

    import java.sql.Statement;

    public class DBUtil {

    private static Connection getSQLConnection(String ip, String user, String pwd, String db)

    {

    Connection con = null;

    try

    {

    Class.forName("net.sourceforge.jtds.jdbc.Driver");

    con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd);

    } catch (ClassNotFoundException e)

    {

    e.printStackTrace();

    } catch (SQLException e)

    {

    e.printStackTrace();

    }

    return con;

    }

    public static String QuerySQL()

    {

    String a="";

    try {

    Connection conn = getSQLConnection("127.0.0.1", "sa", "593748", "hotel");

    String sql = "select * from 用户 where 用户姓名='zhazhazha'";

    Statement stmt = conn.createStatement();

    ResultSet rs = stmt.executeQuery(sql);

    while (rs.next()) {

    a = rs.getString("联系方式");

    }

    }

    catch (SQLException e)

    {

    e.printStackTrace();

    a="";

    }

    return a;

    }

    public static void main(String[] args)

    {

    System.out.println(QuerySQL());

    }

    }

    3.AndroidManifest.xml:

    xmlns:dist="http://schemas.android.com/apk/distribution"

    package="com.example.myapplication">

    android:allowBackup="true"

    android:icon="@mipmap/ic_launcher"

    android:label="@string/app_name"

    android:roundIcon="@mipmap/ic_launcher_round"

    android:supportsRtl="true"

    android:theme="@style/AppTheme">

    android:name=".MainActivity"

    android:label="@string/app_name"

    android:theme="@style/AppTheme.NoActionBar">

    4.activity_main.xml:

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity">

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:theme="@style/AppTheme.AppBarOverlay">

    android:id="@+id/toolbar"

    android:layout_width="match_parent"

    android:layout_height="?attr/actionBarSize"

    android:background="?attr/colorPrimary"

    app:popupTheme="@style/AppTheme.PopupOverlay" />

    android:id="@+id/fab"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_gravity="bottom|end"

    android:layout_margin="@dimen/fab_margin"

    app:srcCompat="@android:drawable/ic_dialog_email" />

    5.content_main.xml:

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    app:layout_behavior="@string/appbar_scrolling_view_behavior"

    tools:context=".MainActivity"

    tools:layout_editor_absoluteY="56dp"

    tools:showIn="@layout/activity_main">

    android:id="@+id/text"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="Hello World!"

    app:layout_constraintBottom_toBottomOf="parent"

    app:layout_constraintLeft_toLeftOf="parent"

    app:layout_constraintRight_toRightOf="parent"

    app:layout_constraintTop_toTopOf="parent" />

    android:id="@+id/button"

    android:layout_width="wrap_content"

    android:layout_height="0dp"

    android:text="修改"

    tools:ignore="MissingConstraints"

    tools:layout_editor_absoluteX="161dp"

    tools:layout_editor_absoluteY="418dp" />

    你期待的结果是什么?实际看到的错误信息又是什么?

    应用界面:

    db9d55da0e3cc0cba31742d48166f5ec.png

    执行后(按下修改按钮)界面:

    1762c1d26a1e33e495786d1cd974f995.png

    展开全文
  • 调webservice服务时,在电脑上可以运行,但在手机上调时,为什么应用会直接停止?求各位解答,谢谢!
  • 一片文章不仅仅是理论的探讨,...为什么会有如此现象呢? 网友们不停的吐槽,优酷、金山词霸等App都有如此现象,连微信、QQ都曾经有过。 哥们惊呆了,还是深深的挖掘一下吧! void startForeground(int id, Notifi...

    一片文章不仅仅是理论的探讨,更多的是应该对实际问题的解决。 写这篇文字的目的是为了解决一个用户体验的问题,如下描述。

     

    部分手机出现下面图片,影响用户体验

     

    这里写图片描述

     

     

    为什么会有如此现象呢?

    网友们不停的吐槽,优酷、金山词霸等App都有如此现象,连微信、QQ都曾经有过。 哥们惊呆了,还是深深的挖掘一下吧!

    void startForeground(int id, Notification notification); 使此服务在前台运行,提供正在进行的服务在此状态下向用户显示的通知。 默认情况下是后台服务,这意味着service在系统回收内存(比如在浏览器里显示大图片)的时候可以被kill掉。如果你比较在意这个service的挂掉,比如像后台音乐播放器这种突然挂了会影响用户的情况,就可以使用ForegroundService来提示用户。

    startForeground

    -> com.android.server.am.ActivityManagerService#setServiceForeground

    -> com.android.server.am.ActiveServices#setServiceForegroundLocked

    在其中先获取对应的ServiceRecord:

    ServiceRecord r = findServiceLocked(className, token, userId);

    r.foregroundNoti = notification;
    r.isForeground = true;
    r.postNotification();

    在postNotification()方法中: 判断notification的mSmallIcon == null,如果是打印日志 Slog.v(TAG, "Attempted to start a foreground service ("+ name + ") with a broken notification (no icon: " + localForegroundNoti + ")");

    然后构建一个新的Notification,

    标题填上“appName is running”,

    内容填上“Tap for more information or to stop the app.”

    然后通过NotificationManagerService.enqueueNotification()更新通知。

    结果,就看到这么一个东西。

    使用场景: 一般这个是为了让Service不容易被杀死,才设置一个notification。 但是此时又不想让用户看到这个通知,该怎么做呢?

    最好的办法是没有这个需求。

    经过查找源码:

    SDK_INT< 18, postNotification()没有判断iflocalForegroundNoti.icon;

    18 =< SDK_INT < 23, postNotification()中if (localForegroundNoti.icon == 0);

    23 =< SDK_INT, postNotification()中if (localForegroundNoti.getSmallIcon() == null);

    小于APi 18,传一个new Notification()是不会显示通知的。

    大于等于18就不行了,但是可能通过在启动一个service,然后startForeground一个相同的id, 然后立刻stopForeground(true),可以将其消失(注意:这其实是google的bug)。

    实测android 6.0生效。

    但是在7.1.2上,这种方法已经失效了,所以,这些版本无法解决。

    尝试了各种反射调用之后,使用外部的notificationManager始终无法去掉由此产生的通知。

    因为NotificationManagerService中做了权限检查的限制,无法绕过。

     

     

     

    结论:

    1.更好的方法是startForeground一个真实有效的notification过去。

    2.startForeground只要传的id相同,不管是不是一个进程,不管是不是同一个notification, 都会用最新的notification覆盖旧的,只显示一个。

    展开全文
  • 为什么会有如此现象呢? 网友们不停的吐槽,优酷、金山词霸等App都有如此现象,连微信、QQ都曾经有过。 哥们惊呆了,还是深深的挖掘一下吧! void startForeground(int id, Notification notificat...

    一片文章不仅仅是理论的探讨,更多的是应该对实际问题的解决。 写这篇文字的目的是为了解决一个用户体验的问题,如下描述。

    部分手机出现下面图片,影响用户体验

    为什么会有如此现象呢?

    网友们不停的吐槽,优酷、金山词霸等App都有如此现象,连微信、QQ都曾经有过。 哥们惊呆了,还是深深的挖掘一下吧!

    void startForeground(int id, Notification notification); 使此服务在前台运行,提供正在进行的服务在此状态下向用户显示的通知。 默认情况下是后台服务,这意味着service在系统回收内存(比如在浏览器里显示大图片)的时候可以被kill掉。如果你比较在意这个service的挂掉,比如像后台音乐播放器这种突然挂了会影响用户的情况,就可以使用ForegroundService来提示用户。

    startForeground

    -> com.android.server.am.ActivityManagerService#setServiceForeground

    -> com.android.server.am.ActiveServices#setServiceForegroundLocked

    在其中先获取对应的ServiceRecord:

    ServiceRecord r = findServiceLocked(className, token, userId);

    r.foregroundNoti = notification;
    r.isForeground = true;
    r.postNotification();

    在postNotification()方法中: 判断notification的mSmallIcon == null,如果是打印日志 Slog.v(TAG, "Attempted to start a foreground service ("+ name + ") with a broken notification (no icon: " + localForegroundNoti + ")");

    然后构建一个新的Notification,

    标题填上“appName is running”,

    内容填上“Tap for more information or to stop the app.”

    然后通过NotificationManagerService.enqueueNotification()更新通知。

    结果,就看到这么一个东西。

    使用场景: 一般这个是为了让Service不容易被杀死,才设置一个notification。 但是此时又不想让用户看到这个通知,该怎么做呢?

    最好的办法是没有这个需求。

    经过查找源码:

    SDK_INT< 18, postNotification()没有判断iflocalForegroundNoti.icon;

    18 =< SDK_INT < 23, postNotification()中if (localForegroundNoti.icon == 0);

    23 =< SDK_INT, postNotification()中if (localForegroundNoti.getSmallIcon() == null);

    小于APi 18,传一个new Notification()是不会显示通知的。

    大于等于18就不行了,但是可能通过在启动一个service,然后startForeground一个相同的id, 然后立刻stopForeground(true),可以将其消失(注意:这其实是google的bug)。

    实测android 6.0生效。

    但是在7.1.2上,这种方法已经失效了,所以,这些版本无法解决。

    尝试了各种反射调用之后,使用外部的notificationManager始终无法去掉由此产生的通知。

    因为NotificationManagerService中做了权限检查的限制,无法绕过。

    结论:

    1.更好的方法是startForeground一个真实有效的notification过去。

    2.startForeground只要传的id相同,不管是不是一个进程,不管是不是同一个notification, 都会用最新的notification覆盖旧的,只显示一个。

    展开全文
  • 一台小米3,一台联想A385E,应该android 版本不一样,为什么小米就直接停止运行了呢 就是一个群发短息的app,在获得列表中手机号码的时候小米直接终止,联想的可以正常获取,这是为什么呢? 还有想问一下 ...
  • 拥有20年专业软件产品研发经验的Lauren,被公认企业架构和商业级移动应用开发的权威.Lauren获得了加州大学圣克鲁兹分校授予的计算机学士学位. 目录 封面 -20 封底 -19 扉页 -18 版权 -17 内容提要 -16 作者简介 -...
  • SECURITY OPTION(检测密码方式)如设定SETUP,则每次打开机器时屏幕均提示输入口令(普通用户口令或超级用户口令,普通用户无权修改BIOS设置),不知道口令则无法使用机器;如设定SYSTEM则只有在用户想进入BIOS设置...
  • 为什么您的设备已经能够在本地运行云流移动游戏?Facebook的目标是使用户更快地进入游戏,并减少看到游戏广告的用户与自己玩游戏之间的摩擦。用户可以快速点击标题而无需下载任何内容,如果最终他们选择从移动应用...

    脸书很快将成为进入云游戏世界的最新科技巨头。他们的做法不同于微软的做法,或Google已建立,但Facebook强调了一个共同的核心挑战:与Apple交易。
    在这里插入图片描述
    Facebook并未建立游戏机竞争对手来与Stadia或xCloud竞争,相反,重点完全放在手机游戏上。为什么您的设备已经能够在本地运行云流移动游戏?Facebook的目标是使用户更快地进入游戏,并减少看到游戏广告的用户与自己玩游戏之间的摩擦。用户可以快速点击标题而无需下载任何内容,如果最终他们选择从移动应用商店中下载标题,则可以从上次停止的地方接听。

    Facebook的服务将在桌面网络和Android上启动, 但不是iOS,因为Facebook将其归类为Apple App Store条款和条件中概述的可用性限制。

    尽管苹果在2020年遭受了Spotify等主要应用的开发者的批评, Tinder和Fortnite减少了从App Store下载的应用程序的收入,从而减少了多少钱,因此旨在构建云游戏平台的公司的困境更加微妙,并与从根本上允许这些平台在Apple上运行的方式紧密相关设备。

    苹果最初在为Google的云游戏应用程序提供前进道路方面进展缓慢以及以前在App Store上被取缔的Microsoft微软。iPhone制造商最近更新了其政策,以允许这些应用程序存在,但是其容量比平台制造商希望的要复杂得多,这迫使他们首先将用户发送到App Store,然后才能在其平台上通过云流式游戏标题。

    对于下载冗长的单人游戏机游戏的用户而言,短暂的进站是一个不便,但Facebook游戏执行长Jason Rubin却是长期的 他说,这些规定对于Facebook平台的构想而言并不是一个新手,这是一种无需下载任何内容即可立即开始玩手机游戏的方式。

    苹果表示,他们继续与Facebook合作,将其游戏工作纳入其指导方针,并且可以通过将每个单独的游戏提交给App Store进行审查或在Safari上运行其服务来达到iOS平台。

    关于在移动网络上构建新平台的问题,鲁宾表示,由于当前的规则禁止,无法将其iOS应用的用户定向到基于浏览器的体验,Facebook并没有看到推动数十亿用户访问该服务的趋势。主要是通过浏览器作为合理的选择。在一次Zoom通话中,Rubin演示了它如何在iOS上运行,用户点击了应用内的广告并重定向到了移动Safari中的游戏体验。

    鲁宾(Rubin)在1994年与索尼共同创立了游戏开发工作室“顽皮狗”,后来被索尼收购自从他于2014年宣布收购Oculus几个月后,他于2001年加入Facebook。鲁宾之前曾负责管理其虚拟现实耳机的游戏生态系统,今年他被任命为公司Play副总裁,负责其核心应用系列的公司游戏计划。

    熟悉游戏开发者/平台冲突的鲁宾很快就将Facebook必须与苹果挑剔的骨子以及来自Epic Games的抱怨区分开来,今年夏天起诉苹果。

    尽管过去Facebook的执行团队对苹果的高额收入费采取了自己的看法,最近又批评苹果的App Store模式在大流行期间如何伤害了小企业,但Facebook在这些游戏中的交易也减少了30%。这一传奇最终导致苹果公司宣布,它将在今年年底之前暂停举办在线活动的小型企业的门票销售。

    苹果公司不愿让主要游戏平台走向向消费者独立提供游戏的道路,这凸显了App Store收入的很大一部分,而消费者转向这些云平台可能会抵消掉这部分收入。CNBC估计,苹果去年从App Store赚了约500亿美元,而游戏一直是他们最赚钱的领域。

    尽管Facebook认为这是与主要平台谋求玩家利益的艰巨战斗,但这绝不是两个失败者之间的战斗。去年,Facebook的广告收入达到了近700亿美元,而改善他们为手机游戏工作室提供的产品可能是朝着增加这一数字迈出的有意义的一步,这对苹果的App Store规则构成了威胁。

    来源:郭盛华博客,转载请注明出处

    展开全文
  • 入门学习Linux常用必60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  ...
  • 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  • 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  • 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  • 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  • 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  •  《google android sdk开发范例大全(第3版)》在上一版的基础上,以android手机应用程序开发(采用android sdk 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序设计...
  •  《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)主题,超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,读者提高程序...
  •  8.9 设置远程下载音乐为手机铃声   8.10 远程下载桌面背景图案   8.11 将手机文件上传至网站服务器   8.12 移动博客发布器   8.13 移动RSS阅读器   8.14 远程下载安装Android程序   8.15...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 ...1.1.1 什么是.NET 2000 年 6 月 ...
  • C#微软培训资料

    2014-01-22 14:10:17
    <<page 1>> page begin==================== 目 ...1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代...
  • 1. 对程序图片进行优化以减少安装包大小并提高运行效率,重写帮助文档以更好的阐述应用的特点和功能。 2. 在执行登录或导出导入操作时,密码输入框内的密码不再明文显示而改星号显示以加强保密性。 3. 对程序中...
  • android 面试2

    2011-06-22 20:53:42
    答:ANR(Application Not Responding):应用程序有一段时间响应不够灵敏,系统向用户显示一个对话框,这个对话框称作应用程序无响应的对话框 避免ANR:Android应用程序通常运行在一个单独的线程里面,称谓主线程,...
  • 1. 对程序图片进行优化以减少安装包大小并提高运行效率,重写帮助文档以更好的阐述应用的特点和功能。 2. 在执行登录或导出导入操作时,密码输入框内的密码不再明文显示而改星号显示以加强保密性。 3. 对程序中...
  • 运行python3 -m uiautomator2 init安装包含httprpc服务的apk到手机+atx-agent, minicap, minitouch (在过去的版本中,这一步是必须执行的,但是从1.3.0之后的版本,当运行python代码u2.connect()时就自动推送这些...
  • 这是因为服务器端授权问题、内核问题或是手机端的配置问题造成的,请看内核是否248K的内核,并检查网络模块是否34.7K的网络模块,如果没有问题请检查手机端相应位置的配置信息。配置一定要细心做好。如果还不行...
  • 不同的应用程序之间数据访问提供了统一的访问接口,例如通讯录数据,相册数据,这些数据在第三方app中经常用到 3.3 File 通过IO流,把数据存储于文件,文件内容可以是xml形式,也可以是json形式 3.4 ...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

为什么手机应用会停止运行