登录
首页 » Android » MuPDF for android(好用的android pdf浏览器)

MuPDF for android(好用的android pdf浏览器)

于 2022-04-29 发布 文件大小:24.29 MB
0 123
下载积分: 2 下载次数: 1

代码说明:

MUPDF是一款轻量级的 PDF 阅读器,如果你直接双击 MuPDF 应用程序图标,不会出现窗口界面,直接选择文件打开。并且还有 Android/iOS 版本,Android版本源码需要通过NDK编译通过才能运行,此版本我已经成功编译通过,源码直接可以运行。做过pdf开发的人都知道,目前市面上比较好的pdf浏览器基本都是基于mupdf进行二次包装实现的,所以这是一份值得学习又非常实用的源码。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Android
    2022-07-15 04:31:36下载
    积分:1
  • android 音乐合成器
    这是一款应用于android的一款开源音乐合成器,可以使用android手机发出各种乐器的声音,包括钢琴、吉他等;利用系统的音色库进行的midi操作。 这是一款应用于android的一款开源音乐合成器,可以使用android手机发出各种乐器的声音,包括钢琴、吉他等;利用系统的音色库进行的midi操作。
    2023-02-17 12:45:04下载
    积分:1
  • android open gl 示例代码下载
    [实例简介]Open GL 入门级示例 [实例截图] [核心代码]package com.china.gltry;import javax.microedition.khronos.egl.EGL10;import javax.microedition.khronos.egl.EGL11;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.egl.EGLContext;import javax.microedition.khronos.egl.EGLDisplay;import javax.microedition.khronos.egl.EGLSurface;import javax.microedition.khronos.opengles.GL;import android.view.SurfaceHolder;/** * An EGL helper class. */public class EGLHelper{ public EGLHelper() { } /** * Initialize EGL for a given configuration spec. * @param configSpec */ public void start(int[] configSpec){ /* * Get an EGL instance */ mEgl = (EGL10) EGLContext.getEGL(); /* * Get to the default display. */ mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); /* * We can now initialize EGL for that display */ int[] version = new int[2]; mEgl.eglInitialize(mEglDisplay, version); EGLConfig[] configs = new EGLConfig[1]; int[] num_config = new int[1]; mEgl.eglChooseConfig(mEglDisplay, configSpec, configs, 1, num_config); mEglConfig = configs[0]; /* * Create an OpenGL ES context. This must be done only once, an * OpenGL context is a somewhat heavy object. */ mEglContext = mEgl.eglCreateContext(mEglDisplay, mEglConfig, EGL10.EGL_NO_CONTEXT, null); mEglSurface = null; } /* * Create and return an OpenGL surface */ public GL createSurface(SurfaceHolder holder) { /* * The window size has changed, so we need to create a new * surface. */ if (mEglSurface != null) { /* * Unbind and destroy the old EGL surface, if * there is one. */ mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); } /* * Create an EGL surface we can render into. */ mEglSurface = mEgl.eglCreateWindowSurface(mEglDisplay, mEglConfig, holder, null); /* * Before we can issue GL commands, we need to make sure * the context is current and bound to a surface. */ mEgl.eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext); GL gl = mEglContext.getGL(); return gl; } /** * Display the current render surface. * @return false if the context has been lost. */ public boolean swap() { mEgl.eglSwapBuffers(mEglDisplay, mEglSurface); /* * Always check for EGL_CONTEXT_LOST, which means the context * and all associated data were lost (For instance because * the device went to sleep). We need to sleep until we * get a new surface. */ return mEgl.eglGetError() != EGL11.EGL_CONTEXT_LOST; } public void finish() { if (mEglSurface != null) { mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); mEglSurface = null; } if (mEglContext != null) { mEgl.eglDestroyContext(mEglDisplay, mEglContext); mEglContext = null; } if (mEglDisplay != null) { mEgl.eglTerminate(mEglDisplay); mEglDisplay = null; } } EGL10 mEgl; EGLDisplay mEglDisplay; EGLSurface mEglSurface; EGLConfig mEglConfig; EGLContext mEglContext;}
    2015-04-06下载
    积分:1
  • Android 模拟ListView列表界面滑动选择删除功能【源码】
    Android 模拟用户列表界面,ListView列表信息的滑动删除和选择删除功能,这个功能在平时,相信大家在玩手机的时候经常遇到的,在列表界面,一般是向左滑动,即可出现删除按钮,且滑对对应行会显示出选择框,滑动结束的时候整个列表进入多癣单选状态,用户可选择某项内容来删除,也可通过单击该行最右侧滑出的“删除”按钮来操作。注:更新界面时,记录为 未选中和滑动删除按钮不可见,可见时,再次单击设置不可见,当滑动距离大于40时,显示该位置的删除按键。
    2023-08-05 22:15:03下载
    积分:1
  • 基于stm32f103的空调控制器
    基于stm32f103的空调控制器,1、可以学习遥控器指令;2、根据温度自动控制空调开关;3、红外遥控。功能:1、以年周期定时器为主(可设置不同月份中各天不同的启动时间)开启关闭空调,再辅以温度控制(但温度超过设定(高温)值时不受定时器控制直接启动空调,开启后温度持续升高2度,蜂鸣器报警;温度低于设定(低温)值关闭空调)确保室内温度不超限定值。2、可以手动/自动切换。3、断电记忆,失电后恢复时能根据控制逻辑对应的发出开启或者关闭红外信号。
    2019-03-23下载
    积分:1
  • CreatePulleyJoint
    滑轮关节,Android开发精典案例源码,很好的参考资料。(The pulley joint, Android development of classical case of source code, a good reference.)
    2013-11-12 00:14:46下载
    积分:1
  • 动态加载本地皮肤包实现换肤效果
    应用背景有需要对app主题风格进行变换的需求的可以借鉴关键技术通过加载本地已有的.shin文件进行app皮肤的切换
    2022-09-06 21:55:04下载
    积分:1
  • daocrud
    android的DAO操作(provider带观察者模式)( The DAO android operating (provider with observer pattern))
    2013-12-14 00:57:35下载
    积分:1
  • Android的Java应用VNC
    android VNC java application
    2022-01-25 21:46:51下载
    积分:1
  • SlidingMenu
    侧边栏源码。为应用程序创建侧边栏结构,侧边栏实例代码.(failed to translate)
    2013-03-26 17:08:03下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载