小编Bri*_*ian的帖子

获取SQLite数据库的下一个AUTO_INCREMENT值

使用Android API中的典型SQLiteDatabase对象,如何在不影响值本身的情况下获取AUTO_INCREMENT特定列的下一个值(即.id).有没有办法呢?或者我应该执行什么查询来获得该结果.请记住,SQLiteDatabase.query()返回一个Cursor对象,所以如果我只是想从中获取一个值,我不太确定如何直接处理它.

sqlite android auto-increment

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

通过JavaMail发送到gmail时出现TLS问题

事实证明,JavaMail比我想象的更令人沮丧.我在网上看了几个关于如何通过Gmail服务器发送简单SMTP电子邮件的例子(但不是通过SSL).在尝试了几个不同的代码示例后,我在调用时始终以相同的示例异常结束transport.connect().我一直得到这个堆栈跟踪:

Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. l10sm302158wfk.21
     at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)
     at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580)
     at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097)
     at SendEmail.main(SendEmail.java:47)
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我应该添加或做什么来解决这个问题?

这是我的代码:

    Properties props = new Properties();
    props.put("mail.transport.protocol", "smtp");
    props.put("mail.host", "smtp.gmail.com");
    props.put("mail.user", "blahblah@gmail.com");
    props.put("mail.password", "blah");
    props.put("mail.port", "587");

    Session mailSession = Session.getDefaultInstance(props, null);
    Transport transport = mailSession.getTransport();

    MimeMessage message = new MimeMessage(mailSession);
    message.setSubject("This is a test");
    message.setContent("This is a test", "text/plain");
    message.addRecipient(Message.RecipientType.TO, new InternetAddress("blahblah2@gmail.com"));

    transport.connect();
    transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
    transport.close();
Run Code Online (Sandbox Code Playgroud)

java email gmail smtp jakarta-mail

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

在外部存储上保存数据

我想在用户的外部目录(即SD卡)中保存一些数据,但似乎有一个奇怪的问题.我正在使用Environment.getExternalStorageDirectory()哪个返回"mnt/sdcard /"(这很好).我想在这个目录中创建两个文件夹,所以我这样做:

File main = new File(getExternalStorageDirectory() + "/my_app/some_data");
if(!main.isDirectory())
    main.mkdirs();
Run Code Online (Sandbox Code Playgroud)

现在我认为这将使目录"mnt/sdcard/my_app/some_data",但在使用文件管理器查看SD卡后,发现该文件夹是在"mnt/sdcard/my_app/mnt/sdcard"创建的/ my_app/some_data",这很奇怪.谁能告诉我如何解决这个问题?

directory storage android file external

8
推荐指数
1
解决办法
5297
查看次数

如何判断用户是否在服务锁定屏幕上

我有一个简单的服务,在后台运行,我只是想知道用户何时在锁定屏幕上,这样我知道何时开始一个过程.

service android locking screen

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

获取生成的调试密钥/证书,以便在不同的机器上进行开发

我正在使用Eclipse开发应用程序,我有两台计算机(台式机和笔记本电脑),我想用它来开发这个应用程序.我最近用Eclipse设置了我的笔记本电脑并将项目导入到该计算机.但是,我意识到我无法将笔记本电脑上的应用程序启动到手机上,因为从桌面构建应用程序时自动生成的签名与笔记本电脑上自动生成的签名不一致.除非我在手机上卸载它.有谁知道如何从一个Eclipse导出自动生成的签名并将其导入另一个?

android build signature

8
推荐指数
2
解决办法
3100
查看次数

在服务中获取触摸事件(坐标,MotionEvents等)

如何使用活动中的活动获得触摸事件public boolean onTouchEvent(MotionEvent event)?显然没有一种onTouchEvent方法可以在服务中覆盖,那么我该如何去做呢?有直接的方法还是可靠的解决方法?

我的想法是创建一个服务,在后台监听用户做出某个手势,然后在该用户做出正确的手势时做一些事情.谢谢!

编辑:这个问题是为了这个问题的答案.

service events android touch gesture

7
推荐指数
1
解决办法
2723
查看次数

获取正在接收所有触摸事件的视图

我有一个高于一切坐在一个系统的覆盖Activities和Windows.唯一的问题是它只能检测MotionEvents用户何时将他/她放在屏幕上(它无法跟踪手指的移动或检测到手指抬起时).作为一种可能的解决方案,我已经实现了第二个视图(我将其称为跟踪视图),该视图能够处理所有触摸事件,但保持隐藏,直到系统覆盖检测到所需位置的触摸为止; 在那种情况下,它将调出跟踪视图.唯一的问题是,跟踪视图在用户将他/她的手指放回屏幕之前不会开始检测触摸事件.因此,为了解决这个问题,我想拦截获取触摸事件(即系统覆盖下的视图)的视图,并将其所有触摸事件转发到跟踪视图以进行处理.

有谁知道我如何获得接收所有触摸事件的视图并重定向它接收的所有触摸事件?

这个问题涉及这个问题中使用的例子.

events android overlay view touch

7
推荐指数
1
解决办法
3870
查看次数

Google Drive API:UserRecoverableAuthIOException(NeedRemoteConsent)

背景

在用户使用标准 OAuth 同意流程链接帐户后,我的应用程序使用 Google Drive API 在用户的 Google Drive 帐户上使用非敏感范围在隔离文件夹中创建/管理文件。

我为 OAuth 同意屏幕启用了以下范围:

  • ./auth/drive.appdata
  • ./auth/drive.file

问题

我正在观察用户报告的问题,其中客户由于以下堆栈跟踪而无法在其 Google 云端硬盘帐户上执行操作:

Non-fatal Exception: com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
   at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:297)
   at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:476)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:409)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:526)
   at com.mystuff.app.cloud.google.drive.GoogleDriveQuery.executeListQuery(GoogleDriveQuery.java:84)
   at com.mystuff.app.cloud.google.drive.GoogleDriveQuery.getList(GoogleDriveQuery.java:39)
   ...
Caused by com.google.android.gms.auth.UserRecoverableAuthException: NeedRemoteConsent
   at com.google.android.gms.auth.zze.zzb(zze.java:13)
   at com.google.android.gms.auth.zzd.zza(zzd.java:77)
   at com.google.android.gms.auth.zzd.zzb(zzd.java:20)
   at com.google.android.gms.auth.zzd.getToken(zzd.java:7)
   at com.google.android.gms.auth.zzd.getToken(zzd.java:5)
   at com.google.android.gms.auth.zzd.getToken(zzd.java:2)
   at com.google.android.gms.auth.GoogleAuthUtil.getToken(GoogleAuthUtil.java:55)
   at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:267)
   at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential$RequestHandler.intercept(GoogleAccountCredential.java:292)
   at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:868)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:476)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:409)
   at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:526)
   at com.mystuff.app.cloud.google.drive.GoogleDriveQuery.executeListQuery(GoogleDriveQuery.java:84)
   ...
Run Code Online (Sandbox Code Playgroud)

代码

执行的代码是这样的,它本质上获取我的应用程序创建的所有符合条件的文件夹的列表:

private FileList executeListQuery(GoogleDriveService driveService, String q, String …
Run Code Online (Sandbox Code Playgroud)

android oauth google-drive-api

7
推荐指数
0
解决办法
1486
查看次数

获取文件创建的日期/时间

这似乎是一个非常直截了当的问题,但我无法在网上找到明确的答案.如何通过Java的文件管理器获取文件的创建日期/时间?除了文件的名称,我还能得到关于文件的"属性"的其他内容吗?

java properties date file

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

清除任务并开始新活动

我不知道为什么这么难以弄明白.我有我的主要活动,在启动时,检查这是否是第一次打开.如果是,则关闭主活动并打开设置/简介活动FLAG_ACTIVITY_NEW_TASK.设置过程包括三个活动(A,B和C).在活动C结束时,如何清除它以及包含A,B和C的设置任务并再次启动主活动.我已经尝试添加FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP到主要活动Intent但是当我按BACK时,它返回到设置过程的活动C. 当C完成并启动主要时,如何让它清除活动A,B和C的任务?谢谢!

我正在构建Android 1.6(API 4),因此一些Activity标志可能会受到限制.

android task android-intent android-activity

6
推荐指数
1
解决办法
5215
查看次数