目前我正在研究如何在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) 我正在阅读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.
我正在尝试使用插件在 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) 当用户点击某个按钮时,我试图在另一个视图上设置半透明视图.同时我希望我的背景视图不可点击.所以基本上我将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)也可以同时点击.
在我的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或更高版本.
我正在尝试实现发送数据并在我的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
以前,我使用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
我有一个表,包含大约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个表.