赞
踩
朋友跟我说官方教程里也写了该怎么用 Android Studio 开发,并且亲测可行。这种方式确实能开发出结构更加清晰、额外组件更加少的程序,比上一篇文章中直接克隆 Processing-Android 仓库要更合适,不过上一篇文章那种方法更加快捷。
导读:
上上上篇:【翻译】Processing系列|(一)简介及使用方法
上上篇:【翻译】Processing系列|(二)安卓模式的安装使用及打包发布
上一篇:【翻译】 Processing系列|(三)安卓项目构建
使用 Android Studio 和 Processing 的核心库进行高级 Android 开发。
安卓工作室是 Google 推荐用于 Android 开发的工具。如果你已经有了如何使用 Android Studio(独立于 Processing)开发 Android 应用程序的经验,并且希望在 Android Studio 项目中使用 Processing 核心库,那么本教程可能会很有用。
我们所有的核心代码都捆绑在 processing-core.zip 中,它位于 AndroidMode 文件夹中。你只需将此文件复制为 processing-core.jar,并将其作为依赖项添加到项目中。Android Studio 的分步程序如下:
// Sketch.java package tutorials.androidstudio.fragmentsv4; import processing.core.PApplet; public class Sketch extends PApplet { public void settings() { size(600, 600); } public void setup() { } public void draw() { if (mousePressed) { ellipse(mouseX, mouseY, 50, 50); } } }
package tutorials.androidstudio.fragmentsv4; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.ViewGroup; import android.widget.FrameLayout; import processing.android.PFragment; import processing.android.CompatUtils; import processing.core.PApplet; public class MainActivity extends AppCompatActivity { private PApplet sketch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout frame = new FrameLayout(this); frame.setId(CompatUtils.getUniqueViewId()); setContentView(frame, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); sketch = new Sketch(); PFragment fragment = new PFragment(sketch); fragment.setView(frame, this); } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { if (sketch != null) { sketch.onRequestPermissionsResult( requestCode, permissions, grantResults); } } @Override public void onNewIntent(Intent intent) { super.onNewIntent(intent); if (sketch != null) { sketch.onNewIntent(intent); } } }
主活动中的 onRequestPermissionsResult()
方法在应用程序使用任何危险的权限情况下都是需要的。如果丢失,向用户请求权限的结果将不会到达草图,并且可能无法正常工作。还需要 onNewIntent(),以便草图可以处理发送到主 Activity 的 Intent.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="tutorials.androidstudio.fragmentsv4.MainActivity" >
<FrameLayout android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
完整的 Android Studio 项目是可用here的。
Processing-Core 库也以软件包的形式在上Bintray提供。使用以下依赖关系片段,可以轻松地将此包导入到 Gradle 项目中:
compile 'org.p5android:processing-core:x.y.z'
其中 X.y.Z 是要使用的所需版本。在 Android Studio 中,Processing-Core 包将显示为模块依赖项,如下所示:
本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/138567527。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。