文章目录

  • 项目介绍
  • 一、准备工作
  • 二、
    • 1.
    • 2.读入数据
  • 总结

项目介绍

本项目面向意在Java向Kotlin的过渡,并尝试使用框架来搭建MVVM架构的项目的初级开发者。同时也涵盖UI的绘制、自定义View并为项目添加C++代码。


一、准备工作

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><applicationandroid:usesCleartextTraffic="false"android:name=".MainApplication"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/Theme.Gomokukotlin"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><providerandroid:name="androidx.startup.InitializationProvider"android:authorities="${applicationId}.androidx-startup"android:exported="false"tools:node="merge"><!-- If you are using androidx.startup to initialize other components --><meta-dataandroid:name="androidx.work.WorkManagerInitializer"android:value="androidx.startup"tools:node="remove" /></provider></application>

build.gradle(Project)

buildscript {repositories {google()mavenCentral()}ext {navigationVersion = '2.4.0'activityVersion = '1.4.0'fragmentVersion = '1.4.1'lifecycleVersion = '2.4.0'roomVersion = '2.4.1'hiltVersion = '2.40.5'glideVersion = '4.12.0'}dependencies {classpath "com.android.tools.build:gradle:7.0.4"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"classpath "com.google.dagger:hilt-android-gradle-plugin:$hiltVersion"classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}task clean(type: Delete) {delete rootProject.buildDir
}

build.gradle(Module)

plugins {id 'com.android.application'id 'kotlin-android'id 'androidx.navigation.safeargs.kotlin'
}apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'android {compileSdk 31dataBinding {enabled = true}defaultConfig {applicationId "com.yeatom.gomoku_kotlin"minSdk 23targetSdk 31versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"javaCompileOptions {}externalNativeBuild {cmake {cppFlags ''}}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}kotlinOptions {jvmTarget = '1.8'}externalNativeBuild {cmake {path file('src/main/cpp/CMakeLists.txt')version '3.10.2'}}
}dependencies {implementation 'androidx.core:core-ktx:1.7.0'implementation 'androidx.appcompat:appcompat:1.4.1'implementation 'com.google.android.material:material:1.5.0'implementation 'androidx.constraintlayout:constraintlayout:2.1.3'implementation 'androidx.legacy:legacy-support-v4:1.0.0'implementation("androidx.work:work-runtime-ktx:2.7.1")testImplementation 'junit:junit:'androidTestImplementation 'androidx.test.ext:junit:1.1.3'androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'//roomimplementation "androidx.room:room-ktx:$roomVersion"kapt "androidx.room:room-compiler:$roomVersion"//hiltimplementation "com.google.dagger:hilt-android:$hiltVersion"kapt "com.google.dagger:hilt-compiler:$hiltVersion"// For instrumentation testsandroidTestImplementation "com.google.dagger:hilt-android-testing:$hiltVersion"kaptAndroidTest "com.google.dagger:hilt-compiler:$hiltVersion"// navigationimplementation("androidx.navigation:navigation-fragment-ktx:$navigationVersion")implementation("androidx.navigation:navigation-ui-ktx:$navigationVersion")implementation "androidx.activity:activity-ktx:$activityVersion"implementation "androidx.fragment:fragment-ktx:$fragmentVersion"//Glideimplementation "com.github.bumptech.glide:glide:$glideVersion"annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion"
}kapt {correctErrorTypes true
}

二、

1.


2.读入数据



总结

从零开始用Kotlin结合Jetpack写一个五子棋相关推荐

  1. 用Java写一个五子棋小游戏

    棋盘是15*15(可以自己规定) 游戏规则: (1)对局双方各执一色棋子. (2)空棋盘开局. (3)黑先.白后,交替下子,每次只能下一子. (4)棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动 ...

  2. 用c语言做一个五子棋程序,C语言制作简单五子棋游戏

    原标题:C语言制作简单五子棋游戏 C语言制作简单的五子棋游戏 学习C语言的人很多,但是用C语言很少,而用来为自己所用,来做游戏的人就更少了,很多人都是跟着学校学习,学校讲到哪就坐到哪,但是以后却还是不 ...

  3. 从零开始仿写一个抖音App

    点击上方"何俊林",马上关注,每天早上8:50准时推送 真爱,请置顶或星标 本文转载自公号开发者技术前线,原文:https://juejin.im/post/5b9e9bf1e51 ...

  4. 从零开始写一个武侠冒险游戏-3-地图生成

    2019独角兽企业重金招聘Python工程师标准>>> 从零开始写一个武侠冒险游戏-3-地图生成 概述 前面两章我们设计了角色的状态, 绘制出了角色, 并且赋予角色动作, 现在是时候 ...

  5. 如何搭建python框架_从零开始:写一个简单的Python框架

    原标题:从零开始:写一个简单的Python框架 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 你为什么想搭建一个Web框架?我想有下面几个原因: 有一个 ...

  6. 从零开始写一个武侠冒险游戏-6-用GPU提升性能(1)

    从零开始写一个武侠冒险游戏-6-用GPU提升性能(1) ----把帧动画的实现放在GPU上 作者:FreeBlues 修订记录 2016.06.19 初稿完成. 2016.08.05 增加对 XCod ...

  7. android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)

    本文首发于微信公众号--世界上有意思的事,搬运转载请注明出处,否则将追究版权责任.交流qq群:859640274. 大家好久不见,又有一个多月没有发文章了.不知道还有哪些读者记得我的 从零开始仿写抖音 ...

  8. mysql c测试程序_Linux平台下从零开始写一个C语言访问MySQL的测试程序

    Linux 平台下从零开始写一个 C 语言访问 MySQL 的测试程序 2010-8-20 Hu Dennis Chengdu 前置条件: (1) Linux 已经安装好 mysql 数据库: (2) ...

  9. 从零开始写一个武侠冒险游戏-8-用GPU提升性能(3)

    从零开始写一个武侠冒险游戏-8-用GPU提升性能(3) ----解决因绘制雷达图导致的帧速下降问题 作者:FreeBlues 修订记录 2016.06.23 初稿完成. 2016.08.07 增加对 ...

  10. 用Java写一个简易五子棋游戏

    一. 程序基本思路: 1.写窗口.棋盘面板.控制面板: 2.绘制棋盘: 3.绘制棋子: 4.添加组件功能: 5.判断输赢: 6.悔棋: 7.复盘. 二.实际操作 1.创建窗口.添加面板 package ...

最新文章

  1. Python之compiler:compiler库的简介、安装、使用方法之详细攻略
  2. cli3解决 ie11语法错误 vue_从零到一教你基于vue开发一个组件库高性能前端架构解决方案...
  3. bundle传递对象与Serializable、Parcelable接口理解和思考
  4. php aura,AuraPHP路由器没有拿起参数
  5. Objective-C 类和对象
  6. matlab 高级函数 —— ind2sub、kron
  7. 实验总结:Java+oracle数据库实现图书馆管理系统
  8. 【线性代数笔记】秩为1的矩阵的性质
  9. php lwm2m,LwM2M和CoAP及它们之间的关系
  10. Qt QComboBox详解
  11. python三大神器之一装饰器
  12. MongoDB—Mac M1的安装
  13. Ubuntu20.04 解决双显卡黑屏、花屏、HDMI失效、亮度调节失效
  14. 必须了解的待人处事小技巧
  15. 记录一个IT菜鸟的成长之路。
  16. yolo v4 weights 权重
  17. svn: E155009: Failed to run the WC DB work queue associated with原因分析及解决方案
  18. 纳斯达克的区块链野望
  19. 思想决定生活 -《卡耐基成功之道全书》读书笔记
  20. 计算机主机机箱面板指示灯,电脑主机指示灯不亮了是什么原因

热门文章

  1. 朴素贝叶斯+拉普拉斯平滑代码实现-方法二
  2. 数据结构 Hash表(哈希表)
  3. 7pin数码屏的使用
  4. 数字信号处理-基础一
  5. 高性能科学计算、工程计算仿真用电脑装机经验
  6. [FPGA基础应用]基于CPLD+ARM架构模拟PC104总线时序
  7. rs485接口上下拉_带内部上下拉电阻的无极性rs-485接口芯片的制作方法
  8. 秒针国家统计局项目:我的一些感想和8点安全措施
  9. final 类和不可变类
  10. c语言试题答题卡,c语言题目及答题卡.docx