Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by import android.widget.Text
Mobilewright Performance Metrics Integration
Mobilewright Reporting and Logging: Integrating Performance Metrics for Comprehensive Insights In today's competitive mobile app landscape, understanding how your application performs across various devices and network conditions is crucial for success. Mobilewright Reporting and Logging provides developers with the tools needed to gather, analyze, and present Performance data that drives informed decisions about app optimization and user experience improvements.
Android 加载自定义字体_android 使用自定义字体-CSDN博客
Android 应用中加载自定义字体可以提升用户体验和品牌形象。Android 提供了多种方式来加载和使用自定义字体,包括使用资源文件、XML 字体声明以及代码动态加载。以下是详细的步骤和示例代码,帮助你在 Android 项目中加载和使用自定义字体。 方法一:使用资源文件 1. 添加字体文件 首先,将你的自定义字体文件(例如 MyCustomFont.ttf 或 MyCustomFont.otf)添加到项目的 res/font 目录中。如果没有 font 目录,请手动创建它。 app/ res/ font/ MyCustomFont.ttf 2. 在 XML 中声明字体 在 res/values/styles.xml 或 res/values/themes.xml 文件中声明一个样式,并指定自定义字体。 示例 styles.xml <!-- res/values/styles.xml --> <resources> <!-- Base application theme.
Kickstart Your Journey into Android Development with Java
Introduction In the dynamic world of technology, mobile app development has taken center stage. With millions of apps available on the Google Play Store, Android remains a dominant force in the mobile operating system market. For aspiring developers, mastering Android development using Java can open up a world of opportunities.
Android 移动开发之数据存储一:临时存储和文件存储(实验6)
Android 移动开发之数据存储一:临时存储和文件存储(实验6) 1、了解Android数据存储的基本方法 2、掌握SharedPreferences、内部文件存储、外部存储技术 1、尝试使用Shared Preferences在程序关闭时保存用户输入的信息,并在程序重新启动时自动恢复这些信息。 2、以INI文件形式,将数据保存在内部或外部存储器上,以实现相同的功能、 1、SharedPreferences存储 1)创建新项目:SharedPreferencesDemo,实现的功能是一个联系人详情展示页,首先做出主界面: <?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"...
Android Studio制作微信界面(一)
Android Studio制作微信界面(一) 实现微信底部导航栏功能: 根据用户选择的选项切换不同的Fragment显示在FrameLayout中。每个选项对应一个Fragment,包括聊天界面、通讯录界面、发现界面和主页界面,并在界面中显示“这里是微信”,“这里是通讯录”等字样,底部按钮颜色,图片随之替换绿色。 效果图如下: Fragment介绍 Android从3.0开始引入Fragment(碎片),允许将Activity拆分成多个完全独立封装的可重用的组件,每个组件拥有自己的生命周期和UI布局,为不同型号、尺寸、分辨率的设备提供统一的UI设计方案.
Android JNI静态注册和动态注册方法详解
Android JNI静态注册和动态注册方法详解 这里的JNI静态方式注册方法和JNI的static方法是没有关系的。 本文主要介绍jni.cpp代码中动态注册方法的讲解。 很多人对这块知识还是比较陌生的,什么是静态注册?什么是动态注册?有些人可能都不清楚。 JNI静态注册和动态注册是哪里的代码? 什么时候使用静态注册?什么时候使用动态注册?为什么呢? 其实一般情况用不到动态注册,但是复杂JNI项目或者系统源码中可能会用到动态注册。 特别是系统源码中基本都是用的动态注册的形式,注册JNI方法,所以是有必要进行学习的。 本文讲解以实际demo代码示例,学起来比较通俗易懂,不像网上的只说一些概念,和简单的片段代码。 想了解的可以继续看看下面内容。本文最后有解答所有问题的描述总结。 1、定义native方法的Java代码 package com.demo.jnistatic; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import...
Android JNI复杂用法,回调,C++中调用Java方法
Android JNI复杂用法,回调,C++中调用Java方法 Android JNI的 普通用法估计很多人都会,但是C++中调用Java方法很多人不熟悉,并且网上很多介绍都是片段的。 虽然C/C++调用Java不常用,但是掌握多一点还是有好处的。 Android JNI的基础知识介绍,之前已经有介绍,不熟悉的可以先看看: Android Jni的介绍和简单Demo实现: https://blog.csdn.net/wenzhi20102321/article/details/136291126 本文主要介绍JNI C++调用Java代码实现和相关知识,有兴趣的可以看看。 1、上层代码 MainAcitvity.java package com.demo.jnicallback; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class...
学习Android的第十七天-CSDN博客
目录 Android ListView 添加插入数据 我们在顶部添加一个按钮,每次点击添加一条记录,并且数据为空时提示用户没数据 XML 布局文件(activity_main.xml): <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/addButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="添加记录"...
用Android Studio编写一个登录界面和注册界面并可以跳转
下面是使用 Android Studio 编写一个简单的登录界面和注册界面,并实现跳转的示例代码。 首先,在 res/layout 目录下创建一个名为 activity_login.xml 的布局文件,作为登录界面的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Email" /> <EditText android:id="@+id/editTextPassword"...
Android生成二维码以及扫描识别二维码(二)_csdn android扫码二维码-CSDN博客
一.添加权限 <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> 二.实现扫码功能 1.创建activity2 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"...
学习Android的第二十天-CSDN博客
目录 常量 例子 AlertDialog Android Toast 吐司 Android 中的 Toast 是一种轻量级的消息提示框,用于在屏幕上显示简短的通知消息,通常用于向用户提供一些临时性的信息反馈。Toast 不包含任何按钮,也不需要用户交互,它会在屏幕上显示一段时间后自动消失。而且Toast 是为数不多的没有 XML 创建代码的 UI 控件。 在 Android 中,Toast 类定义了两个常量 LENGTH_LONG 和 LENGTH_SHORT,用于表示 Toast 消息显示的持续时间。这两个常量分别表示显示较长时间和显示较短时间。 LENGTH_LONG 表示 Toast 消息将会显示较长时间。 LENGTH_SHORT 表示 Toast 消息将会显示较短时间。 可以根据自己的需要选择适当的持续时间来显示 Toast 消息。除了使用这两个常量外,你也可以使用 Toast.setDuration(int duration) 方法来自定义持续时间,传入的参数是以毫秒为单位的时间值。 void cancel(): 如果 Toast 已经显示,则关闭 Toast,如果...
Android Studio从零基础到APP上线(3)
第3章 简单控件 本章介绍App开发常见的几类简单控件的用法,主要包括:显示文字的文本视图,容纳视图的常用布局,响应点击的按钮控件,显示图片的图像视图等。然后结合本章所学的知识,演示一个实战项目“简单计算器”的设计与实现。 3.1 文本显示 本节介绍如何在文本视图TextView上显示规定的文本,包括:怎样在XML文件和Java代码中设置文本内容,尺寸的大小有哪些单位,又该怎么设置文本的大小,颜色的色值是如何表达的,又该怎样设置文本的颜色。 3.1.1 设置文本的内容 在前一章的“2.3.3 使用Java代码书写程序逻辑” 节,给出了设置文本内容的两种方式,一种是在XML文件中通过属性android:text设置文本,比如下面这样: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"...
安卓--计算器应用(Java)-CSDN博客
步骤 1: 设置Android Studio项目 创建一个新的Android项目,选择Java作为编程语言。 步骤 2: 设计用户界面 打开activity_main.xml文件,在res/layout目录下,设计你的计算器用户界面。这个例子使用了LinearLayout来排列两个EditText输入框和几个按钮。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="20dp"> <EditText android:id="@+id/number1" android:layout_width="match_parent" android:layout_height="wrap_content"...
Fragment初识-阿里云开发者社区
概述 官方API Android 在 Android 3.0(API 11 级)中引入了Fragment,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用片段实现此类设计时,您无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成片段,您可以在运行时修改 Activity 的外观,并在由 Activity 管理的返回栈中保留这些更改。 当然了我们普通手机开发也会加入这个Fragment, 我们可以把它看成一个小型的Activity,又称Activity片段! 例如:新闻应用可以使用一个片段在左侧显示文章列表,使用另一个片段在右侧显示文章—两个片段并排显示在一个 Activity 中,每个片段都具有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。 因此,用户不需要使用一个 Activity 来选择文章,然后使用另一个 Activity 来阅读文章,而是可以在同一个 Activity 内选择文章并进行阅读,如下图中的左侧平板电脑布局所示。...
Android App接管手势处理TouchEvnet中单点触摸和多点触控的讲解及实战(附源码 超简单实用)
2023-12-19 7 简介: Android App接管手势处理TouchEvnet中单点触摸和多点触控的讲解及实战(附源码 超简单实用) 运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、单点触摸 dispatchTouchEvent onInterceptTouchEvent onTouchEvent三个方法的输入参数都是手势事件MotionEvent,其中包含触摸动作的所有信息,各种手势操作都从MotionEvent中获取触摸信息并判断处理。 下面是MotionEvent的常用方法 getAction 获取当前的动作类型 取值如下 ACTION_DOWN 按下动作 ACTION_UP 提起动作 ACTION_MOVE 移动动作 ACTION_CANCEL 取消动作 ACTION_OUTSIDE 移出边界动作 ACTION_POINTER_DOWN 第二个点的按下动作 用于多点触控的判断 ACTION_POINTER_UP 第二个点的提起动作 ACTION_MASK 动作掩码 获得多点触控信息 getEventTime 获取事件时间 getX...
Android App事件交互中区分点击和长按动作以及识别手势滑动方向的讲解及实战(附源码 可直接使用)
开发者社区 开发与运维 文章 正文 2023-12-19 4 简介: Android App事件交互中区分点击和长按动作以及识别手势滑动方向的讲解及实战(附源码 可直接使用) 运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、区分点击和长按动作 区分点击和长按动作,只要看按压时长是否超过500毫秒即可,没超过的表示点击动作,超过了的表示长按动作。其实除了按压时长之外,按压力度也是一个重要的参考指标,通常,点击时按得比较轻,长按时按得相对比较重,依据按压时长与按压力度两项指标就可以有效得辨别点击和长按动作。 接下来实战演示,以按压点为圆心绘制源泉,观察点击和长按之时圆圈大小和信息不同 由下图可见不同得点击事件给出得信息是不同的,至于力度问题因为模拟机的问题不够精确,建议连接真机测试 代码如下 二、识别手势滑动的方向 除了点击和长按外,分辨手势的滑动方向也很重要,手势往左或往右代表着左右翻页,网上或者往下代表着上下滚动,另外,手势向下还可能下拉刷新,手势向上还可能表示上拉加载。...
Android App手势冲突处理中上下左右滑动的处理以及侧滑边缘菜单的讲解及实战(附源码 可直接使用)
开发者社区 开发与运维 文章 正文 2023-12-19 4 简介: Android App手势冲突处理中上下左右滑动的处理以及侧滑边缘菜单的讲解及实战(附源码 可直接使用) 运行有问题或需要源码请 点赞关注收藏后评论区留言~~~ 一、上下滚动与左右滑动的冲突处理 Android控件繁多,允许滚动或滑动操作的视图也不少,如果开发者要自己接管手势处理,那么这个页面的滑动就存在冲突的情况,如果系统响应了A视图的滑动事件,就顾不上B视图的滑动事件 解决这种冲突,关键在于提供某种方式通知滚动视图,告诉他什么时候可以上下滚动,什么时候不能上下滚动,这个通知方式主要有两种,一种是父视图主动向下查询,即由滚动视图判断滚动规则并决定是否拦截手势,另一种是子视图向上反映,即由子视图告诉滚动视图是否拦截手势,下面分别介绍 1:由滚动视图判断滚动规则 自定义一个滚动视图 判断手势的横纵坐标关系 2:子视图告诉滚动视图能否拦截手势 实战效果如下 代码如下 二、边缘侧滑菜单 可以借鉴抽屉布局DrawerLayout,该布局运行左右滑动,在滑动时会拉出侧面的抽屉面板,常用于实现侧滑菜单...
Android App开发触摸事件中手势事件Event的分发流程讲解与实战(附源码 简单易懂)
开发者社区 开发与运维 文章 正文 2023-12-19 4 简介: Android App开发触摸事件中手势事件Event的分发流程讲解与实战(附源码 简单易懂) 需要源码或运行有问题请点赞关注收藏后评论区留言~~~ 一、手势事件的分发流程 智能手机的一大革命性技术就是把屏幕变为可触摸设备,既可用于信息输入也可以用于信息输出。与手势事件有关的方法主要有以下三个 dispatchTouchEvent 进行事件分发处理 返回结果表示该事件是否需要分发 onInterceptTouchEvent 进行事件拦截处理 返回结果表示当前容器是否需要拦截该处理 onTouchEvent 进行事件触摸事件 返回结果表示该事件是否处理完毕 上述手势方法的执行者有三个 页面类 包括Activity及其派生类 容器类 包括从ViewGroup派生出的各类容器 控件类 包括从View类派生的各类控件 处理流程如下 经过上图的分析,常见的手势处理方法可以总结为以下三种 页面类的dispatchTouchEvent 控制事件的分发 决定把手势交给谁处理 容器类的onInterceptTouchEvent...
Android App开发实战项目之给用户推荐旅游信息图片(附源码 简单易懂)
package com.example.chapter14.adapter; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.ViewHolder; import com.bumptech.glide.Glide; import...
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
开发者社区 数据库 文章 正文 2023-12-19 5 简介: Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看) 运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、版本设置 每个App都有三个基础信息,第一个是App的图标,第二个是App的名称,第三个是App的版本号。 一旦安装了某个版本的App,那么之后只能安装版本更新的同名App,不能安装版本更低的App, 每次App升级重新导出APK的时候,versionCode与versionName都要一起更改,不能只改其中一个,而且两者升级后只能比原来大,不能比原来小,如果没有按照规范修改版本号就会出现问题 下面是获取App基础信息的例子 效果如下 可见我的图标也进行了修改 具体怎么修改可以参见我之前的博客 代码如下 二、发布模式 为了调试编码方便,开发者经常在代码里添加日志,还在页面上弹出各种提示,这样固然有利于发现BUG,但是调试信息过多往往容易泄漏敏感信息,从保密角度考虑,App在上线前必须去掉多余的调试信息,也就是生成发布模式的安装包...
Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂)
2023-12-19 7 简介: Spring Boot中Node.js的下载与Vue CLI在IDEA中的部署及使用(图文解释 简单易懂) 运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、JNI实现加密和解密 在实际开发中 JNI主要应用于以下场景 1:对关键业务数据进行加密和解密 Java代码容易遭到破解,JNI加密更加安全 2:底层的网络操作与设备操作 Java作为一门高级程序设计语言 与硬件和网络操作的隔阂比C/C++大,它不想它俩那样容易驾驭硬件和网络的操作 3:对运行效率要求较高的场合 同样的操作C/C++执行效率比Java高很多,另外,图像处理,音视频处理等需要大量运算的场合,其底层算法也都是用C/C++实现。 4:跨平台的应用移植 移动设备的操作系统不是Android就是IOS,如果部分业务功能采用C/C++实现,那么不但Android可以通过JNI调用,而且IOS能直接编译运行,一份代码可以同时被两个平台复用,省时省力 接下来尝试使用JNI完成加解密操作,采用的是AES算法C++的开源代码,主要的改造工作是给C++源代码配上JNI接口 效果如下...
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
2023-12-19 5 简介: 【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
2023-12-19 4 简介: 【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看) 需要全部源码请点赞关注收藏后评论区留言私信~~~ 艺术家常说“距离产生美”,其实距离近才是优势,谁不希望自己的工作事少钱多离家近呢?不光是工作,像租房买房、恋爱交友,大家都希望找个近点的,比如58、赶集主打同城交易,微信、陌陌主打同城交友,所谓近水楼台先得月嘛。 正因为位置信息如此重要,所以手机早早支持定位功能,还锲而不舍推进卫星定位、基站定位、WiFi定位等手段。 通过分享自己的位置,人们可以迅速找到附近志同道合的朋友,从而在传统社交之外开辟了新领域——周边社交。 一、需求描述 附近的人除了交友聊天,还存在下列的周边互动场景: (1)个人有闲置物品,扔了可惜,想送给有需要的乡里乡亲; (2)家里水电坏了,想临时找个附近的水电工上门修理; (3)孩子长大了,看看周边有没有美术老师练习绘画、音乐老师练习钢琴之类; 为此需要增加地图导航功能,不仅在地图上标出周围人群的所在地,还需提供导航服务以便用户出行。 二、功能分析...
【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)
2023-12-19 4 简介: 【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
【Python自然语言处理】隐马尔可夫模型中维特比(Viterbi)算法解决商务选择问题实战(附源码 超详细必看)
2023-12-19 3 简介: 【Python自然语言处理】隐马尔可夫模型中维特比(Viterbi)算法解决商务选择问题实战(附源码 超详细必看) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)
2023-12-19 3 简介: 【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
【Android App】给App集成WebRTC实现视频发送和接受实战(附源码和演示 超详细)
2023-12-19 3 简介: 【Android App】给App集成WebRTC实现视频发送和接受实战(附源码和演示 超详细) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)
2023-12-19 3 简介: 【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码) 需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。...
一文带你理解【自然语言处理(NLP)】的基本概念及应用-阿里云开发者社区
需要源码请点赞关注收藏后评论区留言私信~~~ 一、引入WebRTC开源库 WebRTC开源库的集成步骤如下: (1)给App模块的build.gradle添加WebRTC的依赖库配置; (2)App得申请录音和相机权限,还得申请互联网权限; (3)在代码中配置STUN/TURN服务器信息,并将它作为ICE候选者; Peer对象的功能实现 每台接入WebRTC的设备都拥有自己的Peer对象,通过Peer对象完成点对点连接的相关操作。Peer对象主要实现下列几项功能: (1)根据连接工厂、媒体流和ICE服务器初始化点对点连接。 (2)实现接口PeerConnection.Observer,主要重写onIceCandidate和onAddStream两个方法,其中前者在收到ICE候选者时回调,后者在添加媒体流时回调。 (3)实现接口SdpObserver,主要重写onCreateSuccess方法,该方法在SDP连接创建成功时回调,此时不但要设置本地连接的会话描述,还要把媒体能力的会话描述送给信令服务器。 二、实现WebRTC的发起方...
python使用自定义函数和lambda表达式指定排序规则对考试分数降序排列(附源码 可直接使用)
运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、JNI实现加密和解密 在实际开发中 JNI主要应用于以下场景 1:对关键业务数据进行加密和解密 Java代码容易遭到破解,JNI加密更加安全 2:底层的网络操作与设备操作 Java作为一门高级程序设计语言 与硬件和网络操作的隔阂比C/C++大,它不想它俩那样容易驾驭硬件和网络的操作 3:对运行效率要求较高的场合 同样的操作C/C++执行效率比Java高很多,另外,图像处理,音视频处理等需要大量运算的场合,其底层算法也都是用C/C++实现。 4:跨平台的应用移植 移动设备的操作系统不是Android就是IOS,如果部分业务功能采用C/C++实现,那么不但Android可以通过JNI调用,而且IOS能直接编译运行,一份代码可以同时被两个平台复用,省时省力 接下来尝试使用JNI完成加解密操作,采用的是AES算法C++的开源代码,主要的改造工作是给C++源代码配上JNI接口 效果如下 分别输入原始字符串并调用JNI接口进行加密,并且对已加密的字符串进行JNI解密操作 代码如下 创作不易 觉得有帮助请点赞关注收藏~~~...
IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决)
2023-12-19 5 简介: IDEA中报错:因为在此系统上禁止运行脚本有关详细信息,请参阅...(图文解释 亲测已解决) 运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、JNI实现加密和解密 在实际开发中 JNI主要应用于以下场景 1:对关键业务数据进行加密和解密 Java代码容易遭到破解,JNI加密更加安全 2:底层的网络操作与设备操作 Java作为一门高级程序设计语言 与硬件和网络操作的隔阂比C/C++大,它不想它俩那样容易驾驭硬件和网络的操作 3:对运行效率要求较高的场合 同样的操作C/C++执行效率比Java高很多,另外,图像处理,音视频处理等需要大量运算的场合,其底层算法也都是用C/C++实现。 4:跨平台的应用移植 移动设备的操作系统不是Android就是IOS,如果部分业务功能采用C/C++实现,那么不但Android可以通过JNI调用,而且IOS能直接编译运行,一份代码可以同时被两个平台复用,省时省力 接下来尝试使用JNI完成加解密操作,采用的是AES算法C++的开源代码,主要的改造工作是给C++源代码配上JNI接口 效果如下...
Android App开发实战项目之购物车(附源码 超详细必看)
需要源码请点赞关注收藏后评论区留言~~ 一、Application的生命周期 Application是Android的一大组件,在APP运行过程中有且仅有一个Application对象贯穿应用的整个生命周期 打开AndroidMainfest.xml 发现activity节点的上级正是application节点,不过该节点并未指定name属性,此时App采用默认的Application实例 二、利用Application操作全局变量 适合在Application中保存的全局变量主要有下面三类数据 1:会频繁读取的信息 2:不方便由意图传递的数据 例如位图对象 非字符串类型的集合对象等 3:容易因频繁分配内存而导致内存泄漏的对象 例如Handler处理器 效果如下 写入数据后可以查看 三、利用Room简化数据库操作 Google自己开发了一个数据库框架-Room 该框架同样基于SQLit,但它通过注解技术极大的简化了数据库操作,减少了原来相当一部分编码工作量 下面通过一个图书管理系统讲解 创作不易 觉得有帮助请点赞关注收藏~~~ 需要源码请点赞关注收藏后评论区留言~~~...
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
2023-12-18 5 简介: Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信) 需要源码请点赞关注收藏后评论区留言~~ 一、Application的生命周期 Application是Android的一大组件,在APP运行过程中有且仅有一个Application对象贯穿应用的整个生命周期 打开AndroidMainfest.xml 发现activity节点的上级正是application节点,不过该节点并未指定name属性,此时App采用默认的Application实例 二、利用Application操作全局变量 适合在Application中保存的全局变量主要有下面三类数据 1:会频繁读取的信息 2:不方便由意图传递的数据 例如位图对象 非字符串类型的集合对象等 3:容易因频繁分配内存而导致内存泄漏的对象 例如Handler处理器 效果如下 写入数据后可以查看 三、利用Room简化数据库操作 Google自己开发了一个数据库框架-Room...
TabLayout+ViewPager实现Android底部滑动(附实现Demo)_51CTO博客_android实现页面滑动
TabLayout+ViewPager实现Android底部滑动 项目介绍 软件架构 代码实现介绍 项目介绍 通过Tablayout+ViewPager实现底部滑动的tab,让你快速脱坑 源码地址:https://gitee.com/maxiaodong1996/Tablayout_viewPager_Demo.git 软件架构 软件架构说明 代码实现介绍 我们首先要添加design的jar支持选择添加,和复制粘贴添加 复制粘贴添加 在app下的build.gradle中的dependencies中添加 版本号需要和你的下面这个一致 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support:design:26.1.0' 下面介绍的是从工具中手动操作视图添加流程 不过上面的我既然告诉你了那就是很简单的 下面的流程也是为了 上面那句话使用工具添加 1、在app上右键 2、选择 3、点击 4、选择加号选择弹出框中的第一个 5、选择 6、检查选择正确点击OK...
Android 小案例 -- 计算器
开发者社区 开发与运维 文章 正文 2023-10-19 4 简介: 摘要: 计算器的界面分为两大部分,第一部分是上方的计算表达式,既包括用户的按键输入,也包括计算结果数字;第二部分是下方的各个按键,例如:从0到9的数字按钮、加减乘除与等号、正负号按钮、小数点按钮、求倒数按钮、开方按钮以及删除、清空、取消等控制按钮 摘要: 计算器的界面分为两大部分,第一部分是上方的计算表达式,既包括用户的按键输入,也包括计算结果数字;第二部分是下方的各个按键,例如:从0到9的数字按钮、加减乘除与等号、正负号按钮、小数点按钮、求倒数按钮、开方按钮以及删除、清空、取消等控制按钮 分析: 线性布局LinearLayout:计算器的整体布局是从上到下排列着的 网格布局GridLayout:计算器下半部分的几排按钮,正好成五行四列表格分布,适合采用GridLayout 滚动视图ScrollView:计算器界面如果超出屏幕大小,就要支持滚动 文本视图TextView:计算结果文本需要使用TextView,且文字靠下靠右显示 按钮Button:用于0-9的数字按键,以及加减乘除等运算按键...
Android学习之路(19) ListView详解
一.ListView简介 在Android开发中,ListView是一个比较常用的控件。它以列表的形式 展示具体数据内容,并且能够根据数据的长度自适应屏幕显示。 二.ListView简单用法 代码部分 1.布局界面 activity_main.xml 代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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"> <ListView android:id="@+id/list_view"...
Android之Bmob移动后端云服务器_mb648c192b17a88的技术博客_51CTO博客
PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己用servlet作为服务端来实现过滤没有注册过的用户,但是太麻烦,而且不是随时都可以用的。这里介绍一个移动后端云服务器平台bmob,这不仅可以实现云数据库储存,还可以获取手机验证等,随时随地都很轻松,下面写一个小demo,实现一个登陆注册功能,认识增删查改。下面我稍微写一个例子,简单实现注册登录功能。 (1):添加依赖:在app下的build.gradle中添加 compile 'cn.bmob.android:bmob-sdk:3.4.6' compile 'com.squareup.okhttp:okhttp:2.4.0'//CDN文件服务使用okhttp相关包进行文件的上传和下载(必填) compile 'com.squareup.okio:okio:1.4.0' sourceSets { main.jniLibs.srcDirs = ['libs'] } useLibrary 'org.apache.http.legacy' 位置如图: (2)添加权限: <!--允许联网-->...
Android studio实现圆形进度条
参考博客 效果图 MainActivity import androidx.appcompat.app.AppCompatActivity; import android.graphics.Color; import android.os.Bundle; import android.widget.TextView; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private CircleProgressBar progressBar; private TextView percentageTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressBar =...
Android学习之路(2) 设置视图
在Android开发中,可以使用LayoutParams类来设置视图(View)的宽度和高度。LayoutParams是一个用于布局的参数类,用于指定视图在父容器中的位置和大小。 下面是设置视图宽度和高度的示例代码: // 创建一个LayoutParams对象 LayoutParams layoutParams = new LayoutParams(width, height); // 设置视图的LayoutParams参数 view.setLayoutParams(layoutParams); 在上述代码中,width和height分别代表要设置的视图的宽度和高度,可以是具体的像素值,也可以使用特殊常量进行设置,如LayoutParams.WRAP_CONTENT表示自适应内容大小,LayoutParams.MATCH_PARENT表示填充父容器。 例如,如果要将视图的宽度设置为200像素,高度设置为300像素,可以使用以下代码: // 创建一个LayoutParams对象,设置宽度为200像素,高度为300像素 LayoutParams layoutParams...
Android学习之路(4) UI控件之文本框
本节给大家带来的UI控件是:TextView(文本框),用于显示文本的一个控件,另外声明一点,我不是翻译API文档,不会一个个属性的去扣,只学实际开发中常用的,有用的,大家遇到感觉到陌生的属性可以查询对应的API!当然,每一节开始都会贴这一节对应API文档的链接:TextView API 好了,在开始本节内容前,先要介绍下几个单位:dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素).
Android学习之路(1) 文本设置
Android学习之路(1) 文本 设置文本内容的两种方式: 一种是在XML文件中通过属性android:text设置文本代码如下 <TextView android:id="@+id/tv_hello" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="你好,世界" /> 另一种是在Java代码中调用文本视图对象的setText方法设置文本代码如下: // 获取名为tv_hello的文本视图 TextView tv_hello = findViewById(R.id.tv_hello); tv_hello.setText("你好,世界"); // 设置tv_hello的文字内容 在Java文件中新建一个类名为TextViewActivity的Java文件。调用文本视图后如下图所示: 在XML文件中设置文本的话, 在布局文件 (res/layout)创建activity_text_view 把鼠标移到“你好,世界”上方时,Android...
安卓:实现复制粘贴功能_android 代码复制文字_敬往事一杯酒哈的博客-CSDN博客
目录 (一)ClipboardManager介绍 ClipboardManager是Android提供的一个系统服务,用于管理剪贴板内容。它允许您在应用程序之间复制和粘贴文本、链接、图像等数据。 setPrimaryClip(ClipData clip):将指定的ClipData对象设置为主要剪贴板内容。这可以用于复制文本、链接、图像等到剪贴板。 ClipData clipData = ClipData.newPlainText("label", "要复制的文本"); clipboardManager.setPrimaryClip(clipData); getPrimaryClip():获取主要剪贴板的内容。返回一个ClipData对象,其中包含主要剪贴板中的数据。 ClipData clipData = clipboardManager.getPrimaryClip(); if (clipData != null && clipData.getItemCount() > 0) { // 处理剪贴板内容 }...
Android Studio的计算器简单实现加减乘除
学习目标: 简单计算器的加减乘除 学习内容: 提示:这里可以添加要学的内容 例如: 搭建 Java 开发环境 Android Studio jdk1.8 掌握 Java 基本语法 Switch选择语句 掌握条件语句 switch (op){ case "+": result=num1+num2; break; case "-": result=num1-num2; break; case "*": result=num1*num2; break; case "/": if (num2==0){ break; } result=num1/num2; break; default: result=0.0; break; } 学习时间: 周六下午 6点-晚上7点 学习产出: XML文件 /导入背景图片/ android:background=“@drawable/girl” <?xml version="1.0" encoding="utf-8"?> <LinearLayout...
【Android Studio】简易计算器
简易计算器要求: 1,操作简单,易于掌握,界面简单。 2.方便进行加,减,乘,除等操作。数字保留小数点后两位。 3.包含小数点运算和输入回退功能。 4.能够进行多次叠加运算。 5.系统能够进行多次叠加运算。 6.系统可以稳定运行。 功能图如下: 逻辑流程图如下: 项目建立 项目的创建。 新建项目:项目名称设置为MainActicity。 在Activity模板中选择Blank Activity或者empty Activity模板。 其余操作不变,完成项目的创建。 计算器主界面的实现 1.设计界面布局XML文件。 在Android...
Android Java代码与JNI交互 JNI方法Java类字段 (六)
🔥 Android Studio 版本 🔥 🔥 Java 基础类型数据对应 Native层的字母 🔥 通过 jni 查找java某个类中相应字段对应的数据类型 , 需要使用到 jni 中的 GetFieldID() 函数 jfieldID GetFieldID(jclass clazz, const char* name, const char* sig) { return functions->GetFieldID(this, clazz, name, sig); } * |Java |JNI | * |boolean |Z | * |byte |B | * |char |C | * |short |S | * |int |I | * |long |J | * |float |F | * |double |D | 🔥 Java 引用类型数据对应 Native层字符串 🔥 * |Java |JNI | * |String |Ljava/lang/String; | * |Class |Ljava/lang/Class; | * |Throwable...
Android-Fragment
A Fragment is a sub-activity. A single activity can contain more than one fragment. Inside a single activity, fragments represent multiple screens. Some Features of Fragment: The Android framework is responsible for managing a fragment’s layout, views, and lifecycle. It can be considered an independent section of a user interface. A single fragment is used in multiple activities and combines multiple fragments in a single activity to build a multi-pane UI.
Android-UI Designs
Layouts Constraint Layout: A flexible layout called ConstraintLayout enables you to design complicated and responsive user interfaces. Constraints are used to specify the size and placement of views in relation to one another.
Android 之 TextView (文本框)详解
本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解Android中的UI控件,本节给大家带来的UI控件是:TextView(文本框),用于显示文本的一个控件,另外声明一点,我不是翻译API文档,不会一个个属性的去扣,只学实际开发中常用的,有用的,大家遇到感觉到陌生的属性可以查询对应的API!当然,每一节开始都会贴这一节对应API文档的链接:TextView API 好了,在开始本节内容前,先要介绍下几个单位: dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素).
Android Studio 基础 之 使用 okhttp 长连接,流式获取数据的方法简单整理了
目录 一、简单介绍 Android 开发中的一些基础操作,使用整理,便于后期使用。 本节介绍,浏览器向服务器发送一个HTTP请求,保持长连接,服务器不断单向地向浏览器推送“信息”(message),这么做是为了节约网络资源,不用一直发请求,建立新连接。这里使用 okhttp 获取长连接的流数据,并且边获取边展示,方法不唯一,仅供参考。 案例操作环境: Android Studio 2021.3.1 okhttp3:okhttp:4.11.0 二、实现原理 1、使用 OkHttpClient 创建一个 Http 客户端 2、Request.Builder 添加对应的访问网址相关信息 3、ResponseBody 中 获取 byteStream ,进行数据提取 三、注意事项 1、okhttp 版本过低的话,部分 Android 手机可能没有流式效果,而是获取完才给响应 okhttp 版本可以在官网查看:GitHub - square/okhttp: Square’s meticulous HTTP client for the JVM, Android, and GraalVM.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with import
Contact import, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack