1 前言 1.1 业务场景 图片储存在后台中,根据图片的地址,在vue页面中,查看图片,并根据坐标标注指定区域。 由于浏览器的机制,使用 [removed].href 下载图片时,并不会保存到本地,会在浏览器打开。 2 实现原理 2.1 绘制画布 这里为了交互体验,使用了 element-ui 的
2024-03-27 16:59:40 51KB canvas context
1
前言 项目地址:UpdateAppDemo 现在的android应用app会隔一段时间发布一个新的版本,当你打开某个app,如果有最新的版本,会提醒你是否下载更新。本文利用android自带的下载管理器DownloadManager进行下载最新版本的apk,下载完成后自动跳转安装。效果如下: 第一步、检查版本并判断是否需要更新 通过获取当前app版本号与服务器上的版本号进行对比,如果本地的版本号低于服务器版本号,则弹出提示框:发现新版本,是否下载更新。 /** * Created by Teprinciple on 2016/11/15. */ public class UpdateA
2023-05-18 10:27:02 62KB app callback context
1
本文实例为大家分享了Android普通购物车制作过程,供大家参考,具体内容如下 1.最新项目新增了类似购物车功能,如下图所示: 当时刚看到此页面的时候,第一反应是利用 ListView嵌套Listview,经过一番操作最终也实现了此功能。当时也没有考虑性能问题,只考虑能写出来。后来嵌套数据,当数据量较大时,滑动Listview可以明显感觉到卡顿,这对用户来说是很难忍受的,所以才有了找到替代方案的想法,看到网上主流的是用ExpandableListView来实现此功能,所以我也用此方案来写一下。 2.成型后的Demo,如下图所示: 3.思路:  1).选用ExpandableListView
2023-05-09 21:45:55 109KB context expandablelistview id
1
本文实例讲述了Android实现文件的保存与读取功能。分享给大家供大家参考,具体如下: 注: 在Activity中有 getFileDir() 和 getCacheDir(); 方法可以获得当前的手机自带的存储空间中的当前包文件的路径 getFileDir() —– /data/data/cn.xxx.xxx(当前包)/files getCacheDir() —– /data/data/cn.xxx.xxx(当前包)/cache 1. 编写文件读取与写入功能实现类 FileService package cn.android.service; import java.io.ByteArray
2023-04-19 13:29:21 67KB android开发 context id
1
效果展示   准备工作 1.canvas的使用 主要用到了 bindtouchstart , bindtouchmove 两个属性,捕捉手指移动的同时,将移动前的坐标和移动后的坐标用canvas的画图api绘制出来 2.wx.createCanvasContext 这个api用于创建并获取指定canvas对象 代码说明 在wxml中声明一个canvas 指定canvas-id和触摸开始和移动函数 <canvas canvas-id=firstCanvas id='firstCanvas' bindtouchstart=bindtouchstart bindtouchmove=bin
2023-04-15 09:02:45 47KB canvas context data
1
大家好,今天给大家分享一下Android里的Context的一些用法. 这里大致可以分为两种:一是传递Context参数,二是调用全局的Context. 其实我们应用启动的时候会启动Application这个类,这个类是在AndroidManifest.xml文件里其实是默认的 为了让大家更容易理解,写了一个简单的Demo.步骤如下: 第1步:新建一个Android工程ApplicationDemo,目录结构如下: 第2步:新建一个工具类ToolsUtil.java,代码如下 package com.tutor.application; import android.content.Context; import android.widget.Toast; /** * @author carlshen. * 应用的一些工具类. */ public class ToolUtils { /** * 参数带Context. * @param context * @param msg */ public static void showToast(Context context,String msg){ Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } /** * 调用全局的Context. * @param msg */ public static void showToast(String msg){ Toast.makeText(MainApplication.getContext(), msg, Toast.LENGTH_SHORT).show(); } } 第3步:新建一个View命名为MainView.java就是我们Activity现实的View.代码如下: package com.tutor.application; import android.app.Activity; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.FrameLayout; /** * @author carlshen. * 自定义的MainView. */ public class MainView extends FrameLayout implements View.OnClickListener{ private Context mContext; private Activity mActivity; /** * 参数Button. */ private Button mArgButton; /** * 全局Button. */ private Button mGlobleButton; /** * 退出Button. */ private Button mExitButton; public MainView(Context context){ super(context); setupViews(); } public MainView(Context context, AttributeSet attrs) { super(context, attrs); setupViews(); } private void setupViews(){ //获取View的上下文. mContext = getContext(); //这里将Context转换为Activity. mActivity = (Activity)mContext; LayoutInflater inflater = LayoutInflater.from(mContext); View v = inflater.inflate(R.layout.main, null); addView(v); mArgButton = (Button)v.findViewById(R.id.arg_button); mGlobleButton = (Button)v.findViewById(R.id.glo_button); mExitButton = (Button)v.findViewById(R.id.exit_button); mArgButton.setOnClickListener(this); mGlobleButton.setOnClickListener(this); mExitButton.setOnClickListener(this); } public void onClick(View v) { if(v == mArgButton){ ToolUtils.showToast(mContext, "我是通过传递Context参数显示的!"); }else if(v == mGlobleButton){ ToolUtils.showToast("我是通过全局Context显示的!"); }else{ mActivity.finish(); } } } 这里MainView.java使用的布局main.xml代码如下: <?xml version="1.0" encoding="utf-8"?>
2023-04-02 17:26:36 153KB Android Context
1
原理: Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。 Android系统为应用程序管理功能提供了大量的API,通过配置Intent和permission来实现各种功能。 开机自启动是通过 和权限<uses-permission android
2023-03-26 17:40:39 45KB AND android context
1
先看效果图 主要处理的地方: 1、RecyclerView中Adapter的item个人可以无限轮询. 2、RecyclerView自动滑动 3、手指按下时滑动停止,手指抬起后继续自动滑动 public class AutoPollRecyclerView extends RecyclerView { private static final long TIME_AUTO_POLL = 16; AutoPollTask autoPollTask; private boolean running; //标示是否正在自动轮询 private boolean canRun;//标示是否
2023-01-31 15:31:10 70KB android开发 c context
1
本文实例为大家分享了微信小程序画布圆形进度条展示的具体代码,供大家参考,具体内容如下 效果图: 代码: wxml <!--pages/test/test.wxml--> js // pages/test/test.js var context = new wx.createCanvasContext('canvasid', this); var strat_num = 1, end_num = 20; var sAngle = 1.5
2023-01-12 21:44:39 26KB context num 微信
1
图片字幕 介绍 建立一个模型以从图像生成字幕。 给定图像后,模型可以用英语描述图像中的内容。 为了实现这一点,我们的模型由一个编码器(一个CNN)和一个解码器(一个RNN)组成。 为CNN编码器提供了用于分类任务的图像,其输出被馈送到RNN解码器,后者输出英语句子。 该模型及其超参数的调整基于论文和。 我们使用微软Çommon在CO NTEXT(MS COCO)O bjects为这个项目。 它是用于场景理解的大规模数据集。 该数据集通常用于训练和基准化对象检测,分段和字幕算法。 有关下载数据的说明,请参见下面的“数据”部分。 代码 该代码可以分为两类: 笔记本-该项目的主要代码由一系列Jupyter笔记本构成: 0_Dataset.ipynb介绍数据集并绘制一些样本图像。 1_Preliminaries.ipynb加载和预处理数据并使用模型进行实验。 2_Training.ip
2023-01-02 13:00:14 2.09MB nlp computer-vision cnn pytorch
1