精华内容
下载资源
问答
  • Android Studio项目的Fragment实例,包括三个:简单例子,使用在平板和手机有不同效果的,实现tabs的例子。
  • android studio自从采用了cmake的方式来开发jni相关的项目,方便了不少,网上有很多教程。我这里讲下如何创建实例。 1.创建项目 记得勾上support C++和 Exceptions support 和 runtime Type infomation support。...

    android studio自从采用了cmake的方式来开发jni相关的项目,方便了不少,网上有很多教程。我这里讲下如何创建实例。

    1.创建项目



    记得勾上support C++和 Exceptions support 和 runtime Type infomation support。此时会默认生成一个native的方法。这里讲下修改的地方。

    2.创建一个独立的native方法的类

    通常我们都比较喜欢独立创建一个native方法类,如我这边写一个md5生成的项目。

    public class CipherNativeLib {
    
        // Used to load the 'native-lib' library on application startup.
        static {
            System.loadLibrary("cipher_native_lib");
        }
    
        public static native String cryptMd5By32(String source, boolean isUpper);
    
        public static native String cryptMd5By16(String source, boolean isUpper);
    }

    同时,相应的CMakeLists.txt的文件也要做修改,比如,我们生成的so名称叫cipher_native_lib。我这边还把相关的.cpp文件也引入进来。

    3.修改cmakeLists.txt类

    # For more information about using CMake with Android Studio, read the
    # documentation: https://d.android.com/studio/projects/add-native-code.html
    
    # Sets the minimum version of CMake required to build the native library.
    
    cmake_minimum_required(VERSION 3.4.1)
    
    # Creates and names a library, sets it as either STATIC
    # or SHARED, and provides the relative paths to its source code.
    # You can define multiple libraries, and CMake builds them for you.
    # Gradle automatically packages shared libraries with your APK.
    
    add_library( # Sets the name of the library.
                 cipher_native_lib
    
                 # Sets the library as a shared library.
                 SHARED
    
                 # Provides a relative path to your source file(s).
                 src/main/cpp/cipher_native_lib.cpp
                 src/main/cpp/md5.cpp
                 src/main/cpp/my_utils.cpp)
    
    # Searches for a specified prebuilt library and stores the path as a
    # variable. Because CMake includes system libraries in the search path by
    # default, you only need to specify the name of the public NDK library
    # you want to add. CMake verifies that the library exists before
    # completing its build.
    
    find_library( # Sets the name of the path variable.
                  log-lib
    
                  # Specifies the name of the NDK library that
                  # you want CMake to locate.
                  log )
    
    # Specifies libraries CMake should link to your target library. You
    # can link multiple libraries, such as libraries you define in this
    # build script, prebuilt third-party libraries, or system libraries.
    
    target_link_libraries( # Specifies the target library.
                           cipher_native_lib
    
                           # Links the target library to the log library
                           # included in the NDK.
                           ${log-lib} )
    4.cipher_native_lib.cpp类的生成

    android studio可以快速生成native相关的类,再native方法上使用自动构建功能。


    即可在相关的cpp文件上生成对应的函数。

    5.cpp文件的修改

    #include <jni.h>
    #include "my_utils.h"
    
    
    extern "C" {
    
    /**
     * 生成32位md5
     * @param env
     * @param type
     * @param source_  需要加密的文字
     * @param isUpper  转换是否需要大写
     * @return
     */
    JNIEXPORT jstring JNICALL
    Java_com_kv_ciphersample_CipherNativeLib_cryptMd5By32(JNIEnv *env, jclass type, jstring source_, jboolean isUpper) {
        const char *source = env->GetStringUTFChars(source_, 0);
    
        char target[32];
        cryptMd5(source, target, 32, isUpper == JNI_TRUE ? 0 : 1);
    
        env->ReleaseStringUTFChars(source_, source);
        return env->NewStringUTF(target);
    }
    
    /**
     * 生成16位md5
     * @param env
     * @param type
     * @param source_ 需要加密的文字
     * @param isUpper 转换是否需要大写
     * @return
     */
    JNIEXPORT jstring JNICALL
    Java_com_kv_ciphersample_CipherNativeLib_cryptMd5By16(JNIEnv *env, jclass type, jstring source_, jboolean isUpper) {
        const char *source = env->GetStringUTFChars(source_, 0);
    
        char target[16];
        cryptMd5(source, target, 16, isUpper == JNI_TRUE ? 0 : 1);
    
        env->ReleaseStringUTFChars(source_, source);
        return env->NewStringUTF(target);
    }
    
    }
    如我这边写的这两个函数和java类的native方法相对应。


    相关c和c++的编写,目前我也正在熟悉中,C或者C++下面如何引用外部的函数,如何编写函数,数组如何传递给函数。可以参考我github上面写的一个项目。

    CipherSample(github上面的一个android studio jni的实例)




    展开全文
  • 主要介绍了Android Studio导入so文件到项目中的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
  • 郑州app开发AndroidStudio开发小相册实例代码如下。布局代码如下:java代码如下:package cn.xhhkj.xhhkjtest;import android.app.Activity;import android.os.Bundle;import android.view.View;import android....

    郑州app开发AndroidStudio开发小相册实例代码如下。

    布局代码如下:

    65a52563f9c97c2073f023d09ffc73a5.png

    ffc974ba8ae35bf150137cf52cfc23bc.png

    java代码如下:

    package cn.xhhkj.xhhkjtest;

    import android.app.Activity;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.ImageView;

    import android.widget.TextView;

    public class MainActivity extends Activity implements View.OnClickListener{

    private ImageView mImage;

    private TextView mText;

    private String[] title;

    private int[] images;

    private int num;

    private int index;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    initView();

    initData();

    }

    private void initData(){

    title =new String[]{"第1张图片","第2张图片","第3张图片","第4张图片","第5张图片"};

    images=new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};

    mImage.setImageResource(images[0]);

    mText.setText(title[0]);

    num=title.length;

    index=0;

    }

    private void  initView(){

    mImage = findViewById(R.id.xhh_image);

    mText = findViewById(R.id.xhh_text);

    findViewById(R.id.xhh_previous).setOnClickListener(this);

    findViewById(R.id.xhh_next).setOnClickListener(this);

    }

    @Override

    public void onClick(View view){

    switch (view.getId()){

    case R.id.xhh_previous:

    if (index == 0){

    index=title.length-1;

    }else {

    index--;

    }

    break;

    case R.id.xhh_next:

    if (index==4){

    index=0;

    }else {

    index++;

    }

    break;

    }

    updateImageAndTitle();

    }

    private void updateImageAndTitle() {

    mImage.setImageResource(images[index]);

    mText.setText(title[index]);

    }

    }

    展开全文
  • Android Studio 实现跑马灯微项目实例

    万次阅读 2016-11-22 12:56:35
    这是我在慕课网写的手机,实现跑马灯为项目,只是个框架,可以随便修改在此分享给大家:http://www.imooc.com/article/13987%E3%80%81

    这是我在慕课网写的手机,实现跑马灯为项目,只是个框架,可以随便修改在此分享给大家:http://www.imooc.com/article/13987%E3%80%81

    展开全文
  • Android studio实例——hello world任务一、二、三、四、总结与参考资料1、总结2、参考资料 任务 1、创建一个hello world的程序; 2、新建一个hello world工程,实现生成APK,并为APP重新设计一个启动图标; 3、为...

    任务

    1、创建一个hello world的程序;
    2、新建一个hello world工程,实现生成APK,并为APP重新设计一个启动图标;
    3、为安装的Android studio配置自己熟悉的快捷键和操作页面;
    接上篇文章。
    智能终端应用程序开发——Andriod Studio安装.

    一、hello world程序实例

    1、创建新项目

    双击打开Android studio,点击create new project;
    在这里插入图片描述
    选择一个界面;
    在这里插入图片描述
    设置信息;
    在这里插入图片描述
    点击finish出现界面如下;
    在这里插入图片描述

    2、报错处理

    问题一
    Android studio底端出现报错;
    在这里插入图片描述

    Failed to open zip file.Gradle’s dependency cache may be corrupt(this sometimes occurs after a network connection timeout(译文:打开zip压缩文件失败,.Gradle下面的依赖缓存可能被破坏(这有时发生在网络连接超时之后))

    当出现这种情况的时候,找到工程里的gradle-wrapper.properties;
    在这里插入图片描述
    点击打开;
    在这里插入图片描述
    将https改为http;
    在这里插入图片描述
    找到“build”——“rebuild project”;
    重新编译后就没有刚刚的错误了。
    问题二

    在这里插入图片描述

    错误原因:是由于首次安装,AndroidStudio需要初始化,或导入了其它项目后,需要下载gradle压缩包,但在下载的过程中,遇到了网络阻塞,导致下载超时而报错

    我们选择手动下载;

    https://www.tkres.cn/#/toolList.

    点击链接进入下载界面;
    在这里插入图片描述
    根据自己的报错,选择匹配的gradle下载;
    这个网址需要注册登录,下载资料还要money,我们可以直接复制我们需要的压缩包名称,百度找资源。
    如果有和我一样都是gradle-6.5-bin.zip的,可以选择下面这个网盘进行提取下载;

    链接:https://pan.baidu.com/s/16rNgoIhXJVsNZe8LWHGQQA
    提取码:uo6s

    打开压缩包所在目录,关闭AndroidStudio,然后将dists文件夹中的所有文件都删除掉,将下载好的压缩包,解压到当前目录(dists)即可,打开AndroidStudio,稍等一会,如果出现一直显示loading…,那么请重新新建一个Android项目即可。

    C:\Users\darker.gradle\caches\6.5

    咱也是一个Android studio的小白,遇到的问题都是Baidu解决。

    3、run hello world

    按照上述解决问题,重启Android studio;在跑程序,就会出现如下界面;
    在这里插入图片描述

    在这里插入图片描述
    这次任务没有选择真机的连接,用的模拟器。真机在后面会为大家介绍的。
    程序界面主代码:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    二、Android studio 导出apk

    请大家按照图示操作,经本人亲测完成的。
    Android Studio菜单Build->Generate Signed bundle or APK
    在这里插入图片描述
    点击,选择apk;
    在这里插入图片描述
    弹出如图窗口
    在这里插入图片描述
    选择新建。界面如下;
    在这里插入图片描述

    Key store path:密钥库文件的地址
    Password/Confirm:密钥库的密码
    Key:
    Alias:密钥名称
    Password/Confirm:密钥密码
    Validity(years):密钥有效时间
    First and Last Name:密钥颁发者姓名
    Organizational Unit:密钥颁发组织
    City or Locality:城市
    state or province:区域或省份
    Country Code(XX):国家

    补充填写信息;
    在这里插入图片描述
    自己随意搞得话,会出现如下报错;
    在这里插入图片描述
    解决方法参考:

    android studio生成JKS时候提示:JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore.

    JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore houserenting.jks -destkeystore ho….

    后面就可以了。
    也可以选择如下方式:
    在这里插入图片描述
    查看文件:
    在这里插入图片描述

    三、Android studio配置快捷键与操作界面

    Android Studio 快速配置及其快捷键使用.

    1、基本配置

    设置背景颜色
    在这里插入图片描述
    在这里插入图片描述
    修改字体
    在这里插入图片描述
    设置log颜色
    在这里插入图片描述
    在这里插入图片描述
    快捷键配置
    在这里插入图片描述

    2、常用快捷键功能

    快捷键:
    代码提示:ctrl+alt+空格
    代码格式化:Ctrl+Alt+L
    代码移动类的:
    上下移动代码:ctrl+shift+上下箭头
    复制一行代码:ctrl+d
    删除一行代码:ctrl+y
    方法间的切换:alt+上下箭头
    选中代码:ctrl+w
    代码查看类的:
    打开一个file:ctrl+shift+n
    打开一个类:ctrl+n
    查看一个变量的声明:ctrl+b 等价于ctrl+鼠标左键
    查看一个类的父类:ctrl+u
    查看一个方法的调用:ctrl+alt+h
    在类中查看一个方法的实现:ctrl+shift+i
    显示类的结构图:ctrl+h
    代码返回快捷键:ctrl+alt+left/right
    窗口返回键:alt+left/right
    代码折行与展开:ctrl+小键盘的±
    隐藏工程模板:alt+1
    查找类中的方法或变量:ctrl+shift+alt+n
    查看类中的所有方法:ctrl+f12
    复写父类的方法:ctrl+o
    快速跳到方法的开头和结尾:ctrl+【】
    打开最近文件:ctrl+e

    写代码的:
    选中一段代码,按此组合键,可快速添加if,for,try/catch等语句:ctrl+alt+t
    生产相关代码块:ctrl+j fbc(findviewbyid) toast 各种代码块很简单
    定义未定义的变量:alt+enter
    格式和代码:ctrl+shift+l

    查找替换的
    查找:ctrl+f
    替换:ctrl+r

    快速打印log
    之前eclipse的时候写log都要定义一个TAG需要手打而在Studio中只需打:
    logt 自动生成TAG
    logd 相当于log.d
    logm 直接输出上面要打的log信息

    四、总结与参考资料

    1、总结

    Android Studio 提供了集成的 Android 开发工具用于开发和调试。在刚开始的学习使用过程中,还是遇到了很多问题的,不过Baidu上基本都可以找到解决方案,希望与大家一起学习进步。

    2、参考资料

    Android Studio安装中的问题及第一次运行hello world程序.
    Android Studio教程从入门到精通.
    android studio怎么运行项目.
    Android Hello World 实例.
    AndroidStudio报错:Could not install Gradle distribution from ‘https://services.gradle.org/distribution.
    Android Studio 导出APK.

    展开全文
  • android studio项目-ConstraintLayout布局案例。 新版本的android studio开发工具新增的一个非常厉害的布局ConstraintLayout,可以高效率地进行应用界面的布局开发。
  • 服务器端 package socket_util; import java.io.BufferedReader; import java.io.IOException;...项目聊天APP实例 具体不介绍了,链接如下: https://github.com/wangleihitcs/MyChat
  • 两个项目A、插件B。 需求:A运行时将B打包放到asset下 2.运行时必须删除手机里的指定目录(否则更新不起效果) 1.写一个cmd脚本: 路径D:\MyScript\clear.cmd adb uninstall com.oppo.reader.test adb shell...
  • android中HTTP请求模式运用实例源码可运行,Android studio版本
  • 7.我使用的是Android Studio,我把文件布局截图放在压缩包里面,还有几个需要注意的地方,特别的坑,尤其是大家需要注意build.gridle(app)这里面大家需要注册导包,你并且配置好自己的SDK。大家还需要注意就是...
  • Android Studio项目转换成eclipse项目

    千次阅读 2016-01-12 10:43:34
    studio项目是完全可以转换成eclipse的 本站的开源代码板块有很多项目都是android studio开发的,很多同学以为必须要先学会studio,才能编译这些源代码,于是花了很长时间学studio,结果发现还是不会。其实任何...
  • Android studio通过 jdbc方式连接MySQL,然后如何验证登录,纠结了一天了跪求各位大神帮帮忙,一名初学者![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/1.gif)![图片说明]...
  • 如何将android studio项目导入eclipse

    万次阅读 2015-03-18 18:11:31
    下面是将android studio项目导入eclipse的一般步骤: 1. 先解压项目:   2. 解压后,会发现有很多eclipse项目里面不会出现的东西:    进入第二个文件夹,发现东西更多了:
  • 当我们配置好android环境后,如何创建第一个项目,每一项代表了什么意思,这里以Android studio 为例,其他软件如eclipse等是类似的操作 当我们安装好AS后 这里我们选择第一项 ...
  • Android studio使用JNI实例(1)

    千次阅读 2017-11-24 15:45:41
    本文Android studio使用JNI实例为最基础的JNI使用方法(不使用外部so库,使用外部so库将在ndroid studio使用JNI实例(2)中介绍)。
  • 首先在创建一个MarqueeTextViewDemo项目在资源布局,activity_main.xml中中编写出相应的布局的EditText,按钮还有的TextView第一步要实现一个静态的跑马灯样式,然后通过后台方法的调用,来实现动态跑马灯效果。...
  • AndroidStudio项目打包成jar https://www.cnblogs.com/xxdh/p/6703746.html AndroidStudio项目打包成jar   前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加...
  • Android Studio 下拉框Spinner实例

    千次阅读 2020-04-03 07:56:50
    监听下拉框选中项 当下拉框选中项发生改变时,弹窗显示新项目,代码如下: public class MainActivity extends AppCompatActivity { //内容数组 String[] gradeArray={"初一","初二","初三","初四"}; @Override ...
  • 今天用QQ的时候想到了,不如用android studio 做一个类似于这样的登录软件。当然QQ的实现的功能特别复杂,UI界面也很多,不是单纯的一时新奇就可以做出来的。就是简单的实现了一些功能,做了三个界面;1.登录界面。2...
  • 主要介绍了Android Studio导入Project与Module的方法及实例的相关资料,需要的朋友可以参考下
  • android studio项目转换成eclipse

    千次阅读 2015-03-26 10:22:36
    最近一直在研究最新的技术,无奈最新技术都是使用的...在studio项目转换成eclipse项目的过程中,对于studio的知识点只需记住条:studio项目中src/main目录下才是真正的项目代码,main下java目录里面的代码对应的是
  • Android Studio新建项目

    2021-05-26 10:01:53
    1、启动Android Studio 2、创建项目 3、选择其中一项都是可以的,这里咱选择Empty Activity 4、设置项目参数,然后就可以Finish了 5、Installing Requested Components,然后就可以Finish了,静候佳音 6、...
  • android studio 项目转为ecplise项目

    千次阅读 2017-01-02 14:50:30
    一直比较习惯用ecplise开发...在studio项目转换成eclipse项目的过程中,对于studio的知识点只需记住条:studio项目中src/main目录下才是真正的项目代码,main下java目录里面的代码对应的是eclispe项目中的src目录中
  • Android Studio项目集成Unity详细教程

    千次阅读 2017-12-08 17:28:22
    我们知道Unity可以直接打包apk,也可以导出AS或Eclipse工程,我的应用场景是已经有个Android Studio项目了,Unity所做的功能属于其一部分,所以选择将Unity导出AS工程,为了方便主项目调用,还将Unity部分打包
  • 前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问题. 1.下载项目压缩包 2.由于...
  • Android studio 2.3.1 ndk开发入门实例

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,852
精华内容 7,140
关键字:

androidstudio项目实例