小编Kun*_*unu的帖子

为Android项目创建自己的jar库时出错

目前我正在研究如何在Android Studio中创建jar库的基础知识.

我按照如何从Android Studio项目中创建一个.jar以及如何从android studio教程创建一个jar文件.并完成了第一个教程中描述的每个步骤.

但是,当我构建并运行此库项目时,它向我显示以下错误

错误:任务':app:preDexDebug'的执行失败.com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files\Java\jdk1.8.0_60\bin\java.exe''以非完成零退出值1

我在SO中调查了这个问题,但这些问题根本没有帮助我.这对我来说不是内存问题,因为所有其他应用程序都运行得很好.虽然我的项目没有完美编译,但我从我的库文件夹中获取了库jar文件,当我在其他项目中导入该jar作为库时,我得到了相同的错误消息.

所以我想我在这里错过了一些关键点.如果有人遇到类似的问题或者可以帮助我,请给我一些建议.

如果您希望我发布任何代码,请告诉我,我会这样做,谢谢.

我只是添加一个java库模块并在Multiplication那里添加一个非常简单的类(检查下面的代码).然后在我的项目中将该库模块添加为库. 图书馆代码

public class Multiplication {

    public double multiply(int num1, int num2){
        return num1*num2;
    }
}
Run Code Online (Sandbox Code Playgroud)

活动代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    edt1 = (EditText)findViewById(R.id.et1);
    edt2 = (EditText)findViewById(R.id.et2);
    btn  = (Button)findViewById(R.id.btn);
    tv = (TextView)findViewById(R.id.tvRes);

    multiplication = new Multiplication();

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            double res = multiplication.multiply(Integer.parseInt(edt1.getText().toString()),Integer.parseInt(edt2.getText().toString()));

            tv.setText(Double.toString(res));
        }
    });
Run Code Online (Sandbox Code Playgroud)

的build.gradle

apply …
Run Code Online (Sandbox Code Playgroud)

java android jar android-studio

16
推荐指数
1
解决办法
3894
查看次数

新的Facebook API 3.0.和ActionBarSherlock兼容性

我正在阅读facebook Android API 3.0文档,我不明白会话与后台活动有什么关系.在所有的例子中,我都应该扩展"FacebookFragment".好吧,如果我的整个应用程序没有扩展"SherlockFragment",那将是很好的,所以我不认为扩展FacebookFragment是一个选项.

如果我使用SessionLoginExample中的代码,并将我的AppID放在Strings中与facebook完全相同的字符串中,我得到:

错误

10-22 17:04:26.464: E/AndroidRuntime(5491): FATAL EXCEPTION: main
10-22 17:04:26.464: E/AndroidRuntime(5491): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.specsavers.moodspecs/nl.specsavers.moodspecs.LauncherActivity}: java.lang.NullPointerException: Argument applicationId cannot be null
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置初始检查是否安装了应用程序,以及会话是否存在.

 Settings.addLoggingBehavior(LoggingBehaviors.INCLUDE_ACCESS_TOKENS);

    Session session = Session.getActiveSession();
    if (session == null) {
        if (savedInstanceState != null) {
            session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
        }
        if (session == null) {
            session = new Session(this);
        }
        Session.setActiveSession(session);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
            session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
        }

    } 
Run Code Online (Sandbox Code Playgroud)

我需要能够以某种方式将我的App ID放在某个实际上可以正常的地方,但我找不到放在哪里.

我需要知道如果我使用SherlockFragment可以避免扩展FacebookFragment.

TNX.

android facebook facebook-android-sdk actionbarsherlock

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

像径向菜单的布局

我必须设计这样的东西,并为每个块添加点击事件,我应该如何继续.可以有人指导我这个

布局

layout android

9
推荐指数
1
解决办法
6093
查看次数

在 Flutter 中播放 Vimeo 视频

我正在尝试使用插件在 flutter 应用程序中播放vimeo 视频video_player没有成功,它抛出了一堆错误。请帮助我如何在颤振应用程序中实现这一点?使用 webview 或任何插件等?也许代码片段对我有很大帮助!

这是我的代码片段

import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'https://vimeo.com/{some-video-id}')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return …
Run Code Online (Sandbox Code Playgroud)

android vimeo dart flutter flutter-web

9
推荐指数
1
解决办法
7758
查看次数

如何通过半透明背景停止点击事件?

当用户点击某个按钮时,我试图在另一个视图上设置半透明视图.同时我希望我的背景视图不可点击.所以基本上我将alpha设置为0.9到我的前景视图.

    <RelativeLayout
    android:id="@+id/rl_fg_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#231564"
    android:alpha="0.9"
    android:visibility="visible"/>
Run Code Online (Sandbox Code Playgroud)

在此视图下方有一个列表视图.因此,当用户单击按钮时,将弹出此视图,但同时背景视图(即ListView)也可以同时点击.

xml android android-layout

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

RecyclerView内部的Webview有时仅在Nougat设备上显示空白屏幕

在我的Nougat设备中,RecyclerView内的webview有时是空白的.当我慢慢滚动然后回到webview项目内容消失.Android N以下的设备没有问题.Android N使用Chrome作为应用的默认浏览器.所以我认为Chrome中可能存在一个错误,因此我也在Chrome门户网站中提出了一个错误.在SO中有几个相关的问题,但这并没有解决我的问题.那么在Android webview设置中有哪种方法可以解决这个问题?我在bug链接中写了详细说明.

错误链接:点击这里

我的WebView的onBindViewHolder方法代码是

final VHItem vhItem = (VHItem) holder;

vhItem.webViewChild.getSettings().setUseWideViewPort(false);
vhItem.webViewChild.getSettings().setJavaScriptEnabled(true);

vhItem.webViewChild.loadData("<body>" + html + "</body>", "text/html;charset=utf-8", "utf-8");
Run Code Online (Sandbox Code Playgroud)

哪里

html是html字符串

更新

他们已经解决了这个问题.如果您仍然遇到同样的问题,请尝试将Android Chrome版本更新为61或更高版本.

android google-chrome webview

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

无法获得facebook收到的请求

我正在尝试实现发送数据并在我的Facebook安卓游戏应用程序中接受该数据.我正在关注https://developers.facebook.com/docs/android/send-requests/#notifications教程.我能够发送请求但是我无法接受收件人方面的数据.

intentUri每次都返回null,因此我无法获取requestIds.

我在收件人端获取数据的代码:

intentUri = MainActivity.this.getIntent().getData();
if (intentUri != null) {
    String requestIdParam = intentUri.getQueryParameter("request_ids");
    if (requestIdParam != null) {
        String array[] = requestIdParam.split(",");
        requestId = array[0];
        Log.i("Request id: ", "Request id: " + requestId);

    }else{
        Log.i("Request id: ", "null" );

    }
} else {
    Log.i("intentUri", "null");     //**Always printing this part**
}
Run Code Online (Sandbox Code Playgroud)

onSessionStateChange()方法用于调用requestData方法

private void onSessionStateChange(Session session, SessionState state,Exception exception) {
    if (state.isOpened() && requestId != null) {
        getRequestData(requestId);
        requestId = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下方法发送请求:

private …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api facebook-apps facebook-requests

5
推荐指数
1
解决办法
659
查看次数

从IntentService迁移到Android O的JobIntentService

以前,我使用IntentService定期将数据发送到服务器。但是,由于Android O限制了后台任务和进程,所以我正在转向JobIntentService。

我的活动代码以安排警报

Intent intent = new Intent(BaseActivity.this, EventBroadcastReceiver.class);

// Create a PendingIntent to be triggered when the alarm goes off
final PendingIntent pIntent = PendingIntent.getBroadcast(this, EventBroadcastReceiver.REQUEST_CODE,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);

// Setup periodic alarm every half hour
long firstMillis = System.currentTimeMillis(); // alarm is set right away
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);

alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP, firstMillis,
        AlarmManager.INTERVAL_HALF_HOUR, pIntent);
Run Code Online (Sandbox Code Playgroud)

我的服务如下

public class EventAnalyticsService extends JobIntentService {    
    @Override
    protected void onHandleWork(@NonNull Intent intent) {
        // Perform your task
    }

    @Override
    public void onCreate() {
        super.onCreate(); …
Run Code Online (Sandbox Code Playgroud)

android background-service android-8.0-oreo jobintentservice

3
推荐指数
1
解决办法
2028
查看次数

如何在MySql数据库中存储大量记录?

我有一个表,包含大约2500行的单个用户ID.对于每个用户ID,将存在相同数量的行.如果用户数量增加,那么恐怕行数会很大.

所以,请你建议我做什么?我应该为不同的用户使用不同的表,还是为所有用户使用单个表.另外,在一个表中有多少个最大行数/列数有限制吗?

我的数据库看起来如下结构:

对于User1

id ----   col1 
1  ----  value1
2  ----  value2
Run Code Online (Sandbox Code Playgroud)

..............

2500 ----价值2500

对于User2

id ----  col1 ...
1  ----  value1
2  ----  value2
Run Code Online (Sandbox Code Playgroud)

..............

2500 ----价值2500

同样,它将继续假设100万用户

那么,我应该为每个用户创建单独的表,还是应该创建包含所有记录的1个表.

php mysql database-design

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