Files

1304 lines
86 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">
<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
<link rel="mask-icon" href="/images/logo.svg" color="#222">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css" integrity="sha256-VHqXKFhhMxcpubYf9xiWdCiojEbY9NexQ4jh8AxbvcM=" crossorigin="anonymous">
<script class="next-config" data-name="main" type="application/json">{"hostname":"toozhao.com","root":"/","images":"/images","scheme":"Muse","darkmode":false,"version":"8.28.0","exturl":false,"sidebar":{"position":"left","width_expanded":320,"width_dual_column":240,"display":"post","padding":18,"offset":12,"b2t":true,"scrollpercent":true},"hljswrap":true,"codeblock":{"theme":{"light":"default","dark":"stackoverflow-dark"},"prism":{"light":"prism","dark":"prism-dark"},"copy_button":{"enable":true,"style":"mac"},"fold":{"enable":false,"height":500},"language":false},"bookmark":{"enable":true,"color":"#222","save":"auto"},"mediumzoom":true,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":false,"async":false,"duration":200,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"top_n_per_article":5,"unescape":false,"preload":false,"trigger":"auto"}}</script><script src="/js/config.js" defer></script>
<meta name="description" content="分享编程、运维、生活与思考">
<meta property="og:type" content="website">
<meta property="og:title" content="大染志">
<meta property="og:url" content="https://toozhao.com/page/9/">
<meta property="og:site_name" content="大染志">
<meta property="og:description" content="分享编程、运维、生活与思考">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="Junv">
<meta property="article:tag" content="junv, wahyd4, blog, toozhao, 大染志">
<meta name="twitter:card" content="summary">
<link rel="canonical" href="https://toozhao.com/page/9/">
<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":true,"isPost":false,"lang":"zh-CN","comments":"","permalink":"","path":"page/9/index.html","title":""}</script>
<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>大染志</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/medium-zoom/1.1.0/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous" defer></script>
<script src="/js/utils.js" defer></script><script src="/js/sidebar.js" defer></script><script src="/js/next-boot.js" defer></script><script src="/js/bookmark.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.5.0/search.js" integrity="sha256-xFC6PJ82SL9b3WkGjFavNiA9gm5z6UBxWPiu4CYjptg=" crossorigin="anonymous" defer></script>
<script src="/js/third-party/search/local-search.js" defer></script>
<style>
/* =========================================================
Toozhao blog custom styles (injected via head.njk)
阅读体验优化 — 微信读书风格
========================================================= */
html { scroll-behavior: smooth; }
/* 主内容阅读宽度 */
.post-block, .posts-expand .post-block {
max-width: 760px;
}
.post-title {
font-size: 1.7em;
font-weight: 700;
letter-spacing: 0.01em;
}
.post-meta { color: #999; font-size: 0.9em; }
.post-body {
font-size: 1.05em;
line-height: 1.9;
letter-spacing: 0.02em;
color: #333;
}
.post-body p {
margin: 1.1em 0;
text-align: justify;
text-justify: inter-ideograph;
}
.post-body h1, .post-body h2, .post-body h3, .post-body h4, .post-body h5, .post-body h6 {
line-height: 1.4;
margin-top: 1.6em;
margin-bottom: 0.8em;
font-weight: 600;
color: #222;
}
.post-body h2::before, .post-body h3::before, .post-body h4::before {
content: '';
display: inline-block;
width: 4px;
height: 0.9em;
background: #4a90d9;
border-radius: 2px;
margin-right: 10px;
vertical-align: -0.08em;
}
.post-body img {
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
margin: 0.6em auto;
display: block;
max-width: 100%;
}
.post-body blockquote {
border-left: 4px solid #4a90d9;
background: rgba(74, 144, 217, 0.06);
margin: 1.4em 0;
padding: 0.8em 1.2em;
border-radius: 0 8px 8px 0;
color: #555;
}
.post-body blockquote p { margin: 0.4em 0; }
.post-body a {
color: #2d6cdf;
border-bottom: 1px solid rgba(45, 108, 223, 0.3);
transition: color 0.2s, border-color 0.2s;
}
.post-body a:hover { color: #1a4fae; border-bottom-color: #1a4fae; }
.post-body code {
background: rgba(0, 0, 0, 0.05);
border-radius: 4px;
padding: 2px 6px;
font-size: 0.9em;
color: #c7254e;
}
.post-body table {
border-collapse: collapse;
margin: 1.2em auto;
font-size: 0.95em;
}
.post-body table th, .post-body table td {
border: 1px solid #ddd;
padding: 8px 14px;
}
.post-body table th { background: #f5f7fa; font-weight: 600; }
.post-body table tr:nth-child(even) { background: #fafbfc; }
.post-body ul, .post-body ol { padding-left: 1.6em; margin: 0.8em 0; }
.post-body ul li, .post-body ol li { margin: 0.35em 0; }
.post-body hr {
border: none;
border-top: 1px dashed #ccc;
margin: 2em auto;
width: 60%;
}
/* 暗色模式(跟随系统,不依赖 NexT darkmode class */
@media (prefers-color-scheme: dark) {
body { background: #1b1f24; color: #c8cdd3; }
.post-body { color: #c8cdd3; }
.post-body h1, .post-body h2, .post-body h3, .post-body h4, .post-body h5, .post-body h6 { color: #e8eaed; }
.post-body blockquote { background: rgba(74, 144, 217, 0.1); color: #9aa5b1; }
.post-body code { background: rgba(255, 255, 255, 0.1); color: #e88388; }
.post-body table th, .post-body table td { border-color: #3a3f45; }
.post-body table th { background: #2d3238; }
.post-body table tr:nth-child(even) { background: #262a2f; }
.post-meta { color: #777; }
}
::selection { background: rgba(74, 144, 217, 0.25); }
/* 字体调节按钮 */
.font-size-control {
position: fixed;
right: 18px;
bottom: 90px;
z-index: 1000;
background: rgba(0, 0, 0, 0.65);
color: #fff;
border-radius: 20px;
padding: 6px 4px;
display: flex;
flex-direction: column;
gap: 2px;
user-select: none;
}
.font-size-control button {
background: none;
border: none;
color: #fff;
font-size: 13px;
cursor: pointer;
padding: 3px 8px;
opacity: 0.85;
}
.font-size-control button:hover { opacity: 1; }
</style>
<noscript>
<link rel="stylesheet" href="/css/noscript.css">
</noscript>
</head>
<body itemscope itemtype="http://schema.org/WebPage">
<div class="headband"></div>
<main class="main">
<div class="column">
<header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
<div class="site-nav-toggle">
<div class="toggle" aria-label="切换导航栏" role="button">
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</div>
</div>
<div class="site-meta">
<a href="/" class="brand" rel="start">
<i class="logo-line"></i>
<h1 class="site-title">大染志</h1>
<i class="logo-line"></i>
</a>
<p class="site-subtitle" itemprop="description">Junv's blog</p>
</div>
<div class="site-nav-right">
<div class="toggle popup-trigger" aria-label="搜索" role="button">
<i class="fa fa-search fa-fw fa-lg"></i>
</div>
</div>
</div>
<nav class="site-nav">
<ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a></li>
<li class="menu-item menu-item-search">
<a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
</a>
</li>
</ul>
</nav>
<div class="search-pop-overlay">
<div class="popup search-popup">
<div class="search-header">
<span class="search-icon">
<i class="fa fa-search"></i>
</span>
<div class="search-input-container">
<input autocomplete="off" autocapitalize="off" maxlength="80"
placeholder="搜索..." spellcheck="false"
type="search" class="search-input">
</div>
<span class="popup-btn-close" role="button">
<i class="fa fa-times-circle"></i>
</span>
</div>
<div class="search-result-container">
<div class="search-result-icon">
<i class="fa fa-spinner fa-pulse fa-5x"></i>
</div>
</div>
</div>
</div>
</header>
<aside class="sidebar">
<div class="sidebar-inner sidebar-overview-active">
<ul class="sidebar-nav">
<li class="sidebar-nav-toc">
文章目录
</li>
<li class="sidebar-nav-overview">
站点概览
</li>
</ul>
<div class="sidebar-panel-container">
<!--noindex-->
<div class="post-toc-wrap sidebar-panel">
</div>
<!--/noindex-->
<div class="site-overview-wrap sidebar-panel">
<div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
<img class="site-author-image" itemprop="image" alt="Junv"
src="/images/avatar.gif">
<p class="site-author-name" itemprop="name">Junv</p>
<div class="site-description" itemprop="description">分享编程、运维、生活与思考</div>
</div>
<div class="site-state-wrap animated">
<nav class="site-state">
<div class="site-state-item site-state-posts">
<a href="/archives/">
<span class="site-state-item-count">310</span>
<span class="site-state-item-name">日志</span>
</a>
</div>
<div class="site-state-item site-state-tags">
<a href="/tags/">
<span class="site-state-item-count">249</span>
<span class="site-state-item-name">标签</span></a>
</div>
</nav>
</div>
<div class="links-of-author animated">
<span class="links-of-author-item">
<a href="https://github.com/wahyd4" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;wahyd4" rel="noopener me" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a>
</span>
</div>
<div class="cc-license animated" itemprop="license">
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" class="cc-opacity" rel="noopener" target="_blank"><img src="https://cdnjs.cloudflare.com/ajax/libs/creativecommons-vocabulary/2020.11.3/assets/license_badges/small/by_nc_sa.svg" alt="Creative Commons"></a>
</div>
</div>
</div>
</div>
</aside>
</div>
<div class="main-inner index posts-expand">
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/10/08/eclipse-auto-complited/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/10/08/eclipse-auto-complited/" class="post-title-link" itemprop="url">Eclipse 自动补全、联想设置</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-10-09 00:00:00" itemprop="dateCreated datePublished" datetime="2011-10-09T00:00:00+11:00">2011-10-09</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>笔者在第一次使用eclispe 3.7即indigo这个版本的时候,便发现一个小小的不快:平时在不知道某个方法怎么写的时候会按下Alt +&#x2F;去获取eclipse给出的提示。但是在3.7这个版本却不好用,得到的是eclipse自动帮你选择一个他认为最合适的方法或者变量等等,帮你补全,而不是原来的显示所有可供选择的,让你来选择。</p>
<p>纠结了很久,期间尝试过使用网上说的修改Content Assist。将之前默认的 .后面加上ABCD…abcd…所有52个字符。并且 把联想的时间从系统默认的200ms提高到50ms。但是经过修改之后,eclipse变得和visual studio 一样,你每输入一个字符,系统就会进行一次提示。不过我发现这种情况下eclipse占用的CPU、内存资源变多了,在我的笔记本有时候还会变得顿卡。这不是最好的办法。</p>
<blockquote>
<p>前几天吧,我才发现这个问题的症结所在。原来是eclipse官方的快捷键方式改变了。其实以前Alt+&#x2F;那个联想一直在,只是在3.7版本里面这个快捷键变成了自动补全(即系统自动选择一个最合适的进行补充)。我们需要做的就是依次打开Windows——preferences——General——Keys。找到<strong>Content Assist</strong>这一项,这一项系统默认的是Alt+Space。这里我们把它改成<strong>Alt+&#x2F;</strong></p>
</blockquote>
<p><a target="_blank" rel="noopener" href="http://junv-wordpress.stor.sinaapp.com/uploads/2011/10/Eclipse_content_assist.png"><img src="http://junv-wordpress.stor.sinaapp.com/uploads/2011/10/Eclipse_content_assist-300x108.png" title="Eclipse_content_assist"></a></p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/10/07/got-17-50mm-f2-8/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/10/07/got-17-50mm-f2-8/" class="post-title-link" itemprop="url">入手腾龙17-50mm,F2.8</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-10-08 00:00:00" itemprop="dateCreated datePublished" datetime="2011-10-08T00:00:00+11:00">2011-10-08</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>好不容易,求我老汉给了1000,还要把自己原来的镜头卖掉,还要一个月省吃俭用500块钱,才可以买下这个镜头。今天从南充过来,下火车就去把镜头买了¥2130.还要吧比我想象中的贵了几十块钱。不过买了镜头,我的兜里就只剩下20多块钱了。哎,所以必须得尽快卖掉那个原有的套头。</p>
<p>猜到了很多人看到我买了镜头就会觉得我很有钱,我真的有钱吗?我难道还不清楚,随便你们怎么说吧!面对流言蜚语我有什么办法。我只能套用那句俗话,走自己的路,让别人说去吧!</p>
<p>还是说说镜头,大光圈确实效果很不错,镜头很厚实,不够就是对焦的时候声音有点大!马达吱吱地想!!</p>
<p>镜头没有防抖功能,希望使用的时候不会出现什么问题吧!下面上图一张</p>
<p><a target="_blank" rel="noopener" href="http://junv-wordpress.stor.sinaapp.com/uploads/2011/10/psu.jpg"><img src="http://junv-wordpress.stor.sinaapp.com/uploads/2011/10/psu-e1318080197493-199x300.jpg" title="psu"></a></p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/09/27/finally-give-upandroid-choose-java-web/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/09/27/finally-give-upandroid-choose-java-web/" class="post-title-link" itemprop="url">我最终还是放弃了android选择了Java web</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-09-28 00:00:00" itemprop="dateCreated datePublished" datetime="2011-09-28T00:00:00+10:00">2011-09-28</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>也许是今天上课听到其他人讲人家去腾讯面试怎么怎么样,我心里还是有很大的震动。我不再想学android了,虽然老师叫我负责这一块工作,但是我感觉我在学习的过程中发现android的代码逻辑和我平时接触的java EE的逻辑还是有一些区别。我真的还是喜欢搞我的网站。这些我都比较了解。我也喜欢那些新鲜的事物,因为我喜欢他。虽然就在今天上午之前,我还是很想把Android尽快学好。但是原谅我吧,明年我就去面试了,在这短短一年的时间里面请允许我学习我最喜欢的东西吧,这样我想我胜利的机会才会更大。</p>
<p>况且,我觉得Web App应该是未来的王者,看看Chrome OS,虽然现在Android 还不推荐使用Web App ,但是我大胆预测一下,未来三年内Android 将允许使用Web App.而且Windows 8将来也支持使用javascript +html 5进行程序开发。这些都是学习javascript的好处吧。而且我自己也有javascript 的底子啊,经过暑假一个多月的奋斗,我觉得我的javascript能力提升了不少!</p>
<p>看看Java EE那么多好用的框架,看看 Nosql是多么地吸引人,看看node.js是多么的新潮,还有很多很多好的东西!</p>
<p>从现在开始,我就搞Java EE了!</p>
<p>加油!</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/09/26/i-think-of-passion/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/09/26/i-think-of-passion/" class="post-title-link" itemprop="url">积极性之我见</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-09-27 00:00:00" itemprop="dateCreated datePublished" datetime="2011-09-27T00:00:00+10:00">2011-09-27</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>在我看来积极性可能比能力更加重要,能力可以努力一点一点提升,但是积极性却是一个人内心意识的反应。我们通常我们感兴趣的事情很有积极性,充满斗志。但是有那么一部分人,他之前的行为让你觉得他对这个事情满怀激情,但是一旦他到达一个一个安定、稳定的环境,即使是他自己感兴趣的事情,他也变得懒惰了。难道他们仅仅是因为虚荣心吗?</p>
<p>最近在帮助老师做一个android项目,由于我是高一级的学生,于是老师叫我负责这个android团队,带领低一级的同学一起参与界面设计、问题讨论、代码编写。但是通过开学这几周下来,我发现这个leader不太好当。我一个人做了几个人的事情。而且我还发现,编程的孩子只喜欢编程,他们不想参与讨论,不想参与草图的制作,心里面想的是,一拿到这个程序立刻开始写代码。界面设计的同学也不愿意开会讨论。设计出来的结果也不能让人满意,没有一点规范可讲。甚至我们最初梦寐以求的进入实验室,他们现在都开始变得不那么渴求,或者说也许只是对实验室名称上的渴求。一旦进入实验室,他们便变得不那么积极了。所有的这一切都让我有一个想法,这些学弟、学妹们怎么了,怎么变得一届不如一届了。</p>
<p>我希望他们对每一项新的任务都已积极的心态来对待,其实每一种技能都是你的本钱,我现在体会得越来越深了。开发一个软件,不仅仅是代码、代码虽然重要,但是如果没有软件工程、没有市场营销、没有良好的用户体验设计,其实这个软件根本不能用,即使你的代码写的再好、即使你的算法再优良。以积极的心态去面对每一项任务,把他们当做一个个新的挑战去完成,虽然过程中你可能会很累、很迷茫、很沮丧,但是坚持到最后,你才发现你学到了很多东西,不仅仅是编写代码。</p>
<p>积极、乐观的态度,还可以给你的老师、你的上司留下好的印象。最重要的是积极这种生活态度很好!说不出的好。</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/09/25/move-to-sina/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/09/25/move-to-sina/" class="post-title-link" itemprop="url">搬到新浪,初衷很无耐</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-09-26 00:00:00" itemprop="dateCreated datePublished" datetime="2011-09-26T00:00:00+10:00">2011-09-26</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p><a target="_blank" rel="noopener" href="http://junv-wordpress.stor.sinaapp.com/uploads/2011/09/69BBKQGI39GD0005_conew1.jpg"><img src="http://junv-wordpress.stor.sinaapp.com/uploads/2011/09/69BBKQGI39GD0005_conew1.jpg" title="69BBKQGI39GD0005_conew1"></a></p>
<p>之所以会将之前的顶级域名博客,弃用,而转而使用这个博客,其实我算是不得已而为之。</p>
<p>也许就是舍不得再花钱在这里面吧,想想自己最初的打算,用写博客挣的广告费用,来购买空间,可实际上呢?</p>
<p>哎,还是省省吧。</p>
<p>虽然橡皮泥一直没有把我的空间给我停掉,但是我自己也过意不去啊。毕竟空间他也是花钱买的啊!</p>
<p>综上所述,所以我还是决定了,就用这个新浪的试试看吧!</p>
<p>加油新浪,加油Junv!</p>
<p>争取今天或者明天写一篇新的博客吧!</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/07/05/tomcat-db-connection-pool-sql-server/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/07/05/tomcat-db-connection-pool-sql-server/" class="post-title-link" itemprop="url">tomcat 7配置数据库连接池,使用SQL Server2005实现</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-07-06 00:00:00" itemprop="dateCreated datePublished" datetime="2011-07-06T00:00:00+10:00">2011-07-06</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<blockquote>
<p>昨天看了一些网上的tomcat数据库连接池配置的东西,但是一直没配好,主要原因是网上的文章几乎没有争对tomcat 7进行配置的,而且针对SQL SERVER的也不多,今天上午看了官方的文档,花了一上午时间终于配置好了数据库连接池,这里发给大家看看,如果有什么疑问就留言吧。</p>
</blockquote>
<p>首先我们需要向项目中导入tomcat-dbcp.jar 、servlet-ap.jar和sql server的驱动sqljdbc4.jar 包到 web-inf 文件夹下的lib目录 。</p>
<p>然后增加context.xml</p>
<p>这里有两种方法,第一种是在tomcat程序目录下面的conf&#x2F;context.xml里面修改,这里修改之后所有的程序都将都将覆盖数据库连接池,但是这种方法不够灵活。这里我们选择第二种方法 在项目的Web-content&#x2F;meta-inf 目录下创建一个context.xml文件,在里面添加如下内容:</p>
<figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"></span><br></pre></td></tr></table></figure>
<p>这里需要修改的是 将所有的SYSDEMO改为你自己的使用的数据库的名称</p>
<p>将driverClassName改为你所使用数据库的驱动,这里是SQL SERVER的驱动。</p>
<p>将url改为jdbc链接该数据库的地址,这里是SQL SERVER的地址,</p>
<p>将username 、password改为你自己数据库用户名和密码</p>
<p>maxActive&#x3D;”100″ maxIdle&#x3D;”30″ maxWait&#x3D;”10000″</p>
<p>可以将这三个参数进行修改,</p>
<p>第一个是最大活动的连接数</p>
<p>第二个是最大的未连接数</p>
<p>第三个是最长的等待时间,单位是毫秒</p>
<p>然后再修改项目的webContent&#x2F;web-inf&#x2F;web.xml文件</p>
<p>添加如下内容:</p>
<figure class="highlight xml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">MySQL Test App</span><br><span class="line"> </span><br><span class="line"> DB Connection </span><br><span class="line"> jdbc/blog </span><br><span class="line"> javax.sql.DataSource </span><br><span class="line"> Container </span><br><span class="line"> </span><br></pre></td></tr></table></figure>
<p>这里必须要改的是: jdbc&#x2F;SYSDEMO</p>
<p>改为 jdbc&#x2F;你自己的数据库</p>
<p>好了然后就可以使用了。</p>
<p>如下是我测试的servlet文件</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> java.io.IOException;</span><br><span class="line"><span class="keyword">import</span> java.sql.Connection;</span><br><span class="line"><span class="keyword">import</span> java.sql.SQLException;</span><br><span class="line"><span class="keyword">import</span> javax.naming.Context;</span><br><span class="line"><span class="keyword">import</span> javax.naming.InitialContext;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.ServletException;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.annotation.WebServlet;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServlet;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServletRequest;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServletResponse;</span><br><span class="line"><span class="keyword">import</span> javax.sql.DataSource;</span><br><span class="line"><span class="meta">@WebServlet(&quot;/TestPool&quot;)</span></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title class_">TestPool</span> <span class="keyword">extends</span> <span class="title class_">HttpServlet</span> &#123;</span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="type">long</span> <span class="variable">serialVersionUID</span> <span class="operator">=</span> <span class="number">1L</span>;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">protected</span> <span class="keyword">void</span> <span class="title function_">doGet</span><span class="params">(HttpServletRequest request, HttpServletResponse response)</span> <span class="keyword">throws</span> ServletException, IOException &#123;</span><br><span class="line"> <span class="keyword">try</span>&#123;</span><br><span class="line"> <span class="type">Context</span> <span class="variable">initContext</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">InitialContext</span>();</span><br><span class="line"> <span class="type">Context</span> <span class="variable">envContext</span>  <span class="operator">=</span> (Context)initContext.lookup(<span class="string">&quot;java:/comp/env&quot;</span>);</span><br><span class="line"> <span class="type">DataSource</span> <span class="variable">ds</span> <span class="operator">=</span> (DataSource)envContext.lookup(<span class="string">&quot;jdbc/SYSDEMO&quot;</span>);</span><br><span class="line"> <span class="type">Connection</span> <span class="variable">conn</span> <span class="operator">=</span> ds.getConnection();</span><br><span class="line"> System.out.println(<span class="string">&quot;成功了。。。。。。。。。。&quot;</span>);</span><br><span class="line"> &#125;<span class="keyword">catch</span>(Exception e)&#123;</span><br><span class="line"> System.out.println(<span class="string">&quot;出错了。。。。。。。。。。。。。。。。。。&quot;</span>);</span><br><span class="line"> e.printStackTrace();</span><br><span class="line"> &#125;</span><br><span class="line"> &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<p>将 DataSource ds &#x3D; (DataSource)envContext.lookup(“jdbc&#x2F;SYSDEMO”);</p>
<p>“jdbc&#x2F;SYSDEMO” 的sysdemo改为你前面使用的数据库的名称即可。</p>
<p>好了。大功告成。</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/06/23/android-upload-image-to-server/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/06/23/android-upload-image-to-server/" class="post-title-link" itemprop="url">Android上传图片到服务器Server端servlet源码</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-06-24 00:00:00" itemprop="dateCreated datePublished" datetime="2011-06-24T00:00:00+10:00">2011-06-24</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<blockquote>
<p><del><strong>更新:现在提供源码下载了!在文末有地址!</strong></del></p>
<p><strong>由于115关闭了外部下载,还是麻烦大家留言写下地址吧,我会把包发给大家的。</strong></p>
</blockquote>
<blockquote>
</blockquote>
<blockquote>
<p>最近看到很多朋友都留言回复很开心,我也很高兴,自己做的这样一个小程序可以帮到你们。上篇文章详细讲了如果实现android端的代码,很多朋友都在问s服务器端servlet源代码,这里就贴出来给大家吧,但是最近很忙,就先暂时不详细解释了。</p>
</blockquote>
<blockquote>
<p>这里说明一点,这个程序是使用了Apache Commons 的一个上传文件的开源组件叫做FileUpload,用的包是commons-fileupload-1.2.2.jar。其他的就不多说了,如果你直接粘贴使用下面代码,请你一定要导入这个包。</p>
</blockquote>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">package</span> info.junv;</span><br><span class="line"><span class="keyword">import</span> java.io.File;</span><br><span class="line"><span class="keyword">import</span> java.io.IOException;</span><br><span class="line"><span class="keyword">import</span> java.io.PrintWriter;</span><br><span class="line"><span class="keyword">import</span> java.util.Date;</span><br><span class="line"><span class="keyword">import</span> java.util.Iterator;</span><br><span class="line"><span class="keyword">import</span> java.util.List;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> javax.servlet.ServletException;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.annotation.WebServlet;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServlet;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServletRequest;</span><br><span class="line"><span class="keyword">import</span> javax.servlet.http.HttpServletResponse;</span><br><span class="line"></span><br><span class="line"><span class="keyword">import</span> org.apache.commons.fileupload.FileItem;</span><br><span class="line"><span class="keyword">import</span> org.apache.commons.fileupload.FileItemFactory;</span><br><span class="line"><span class="keyword">import</span> org.apache.commons.fileupload.disk.DiskFileItemFactory;</span><br><span class="line"><span class="keyword">import</span> org.apache.commons.fileupload.servlet.ServletFileUpload;</span><br><span class="line"></span><br><span class="line"><span class="meta">@WebServlet(&quot;/HandleUpload&quot;)</span></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title class_">HandleUpload</span> <span class="keyword">extends</span> <span class="title class_">HttpServlet</span> &#123;</span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="type">long</span> <span class="variable">serialVersionUID</span> <span class="operator">=</span> <span class="number">1L</span>;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">doPost</span><span class="params">(HttpServletRequest request, HttpServletResponse response)</span></span><br><span class="line"> <span class="keyword">throws</span> ServletException, IOException &#123;</span><br><span class="line"></span><br><span class="line"> <span class="type">File</span> <span class="variable">temp</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">File</span>(request.getSession().getServletContext().getRealPath(<span class="string">&quot;/&quot;</span>)</span><br><span class="line"> + <span class="string">&quot;temp&quot;</span>);<span class="comment">// 临时目录</span></span><br><span class="line"> System.out.println(<span class="string">&quot;临时目录为=&quot;</span> + temp);</span><br><span class="line"> <span class="type">String</span> <span class="variable">loadpath</span> <span class="operator">=</span> request.getSession().getServletContext()</span><br><span class="line"> .getRealPath(<span class="string">&quot;/&quot;</span>)</span><br><span class="line"> + <span class="string">&quot;image&quot;</span>; <span class="comment">// 上传文件存放目录</span></span><br><span class="line"></span><br><span class="line"> System.out.println(<span class="string">&quot;文件保存目录为=&quot;</span> + loadpath);</span><br><span class="line"></span><br><span class="line"> <span class="type">DiskFileItemFactory</span> <span class="variable">factory</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">DiskFileItemFactory</span>();</span><br><span class="line"></span><br><span class="line"> factory.setSizeThreshold(<span class="number">1024</span>*<span class="number">1024</span>); <span class="comment">//设置最大可以存到内存值</span></span><br><span class="line"> factory.setRepository(temp); <span class="comment">//设置缓存文件夹</span></span><br><span class="line"></span><br><span class="line"> <span class="type">ServletFileUpload</span> <span class="variable">fu</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">ServletFileUpload</span>(factory);</span><br><span class="line"></span><br><span class="line"> fu.setSizeMax(<span class="number">1024</span> * <span class="number">1024</span> * <span class="number">1024</span>); <span class="comment">// 设置允许用户上传文件大小,单位:字节</span></span><br><span class="line"></span><br><span class="line"> System.out.println(<span class="string">&quot;开始上传。。。。。。。。。。。。&quot;</span>);</span><br><span class="line"> <span class="comment">// 开始读取上传信息</span></span><br><span class="line"> <span class="type">int</span> <span class="variable">index</span> <span class="operator">=</span> <span class="number">0</span>;</span><br><span class="line"> <span class="type">List</span> <span class="variable">fileItems</span> <span class="operator">=</span> <span class="literal">null</span>;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">try</span> &#123;</span><br><span class="line"> fileItems = fu.parseRequest(request);</span><br><span class="line"></span><br><span class="line"> &#125; <span class="keyword">catch</span> (Exception e) &#123;</span><br><span class="line"> System.out.println(<span class="string">&quot;获取相关信息。。。。。。。。。。。。失败&quot;</span>);</span><br><span class="line"> &#125;</span><br><span class="line"></span><br><span class="line"> <span class="type">Iterator</span> <span class="variable">iter</span> <span class="operator">=</span> fileItems.iterator(); <span class="comment">// 依次处理每个上传的文件</span></span><br><span class="line"> <span class="keyword">while</span> (iter.hasNext()) &#123;</span><br><span class="line"></span><br><span class="line"> <span class="type">FileItem</span> <span class="variable">item</span> <span class="operator">=</span> (FileItem) iter.next();<span class="comment">// 忽略其他不是文件域的所有表单信息</span></span><br><span class="line"> <span class="keyword">if</span> (!item.isFormField()) &#123;</span><br><span class="line"></span><br><span class="line"> <span class="type">String</span> <span class="variable">name</span> <span class="operator">=</span> item.getName();</span><br><span class="line"> System.out.println(<span class="string">&quot;FileName====&quot;</span>+name);</span><br><span class="line"></span><br><span class="line"> <span class="type">File</span> <span class="variable">fNew</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">File</span>(loadpath, name);</span><br><span class="line"></span><br><span class="line"> <span class="keyword">try</span> &#123;</span><br><span class="line"></span><br><span class="line"> item.write(fNew);</span><br><span class="line"> System.out.println(<span class="string">&quot;..........Uploaded Successed&quot;</span>);</span><br><span class="line"> &#125; <span class="keyword">catch</span> (Exception e) &#123;</span><br><span class="line"> System.out.println(<span class="string">&quot;An Error occured!&quot;</span>);</span><br><span class="line"> e.printStackTrace();</span><br><span class="line"> &#125;</span><br><span class="line"></span><br><span class="line"> &#125; <span class="keyword">else</span> <span class="comment">// 取出不是文件域的所有表单信息</span></span><br><span class="line"> &#123;</span><br><span class="line"> <span class="type">String</span> <span class="variable">fieldvalue</span> <span class="operator">=</span> item.getString();</span><br><span class="line"></span><br><span class="line"> &#125;</span><br><span class="line"> &#125;</span><br><span class="line"></span><br><span class="line"> &#125;</span><br><span class="line"></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<blockquote>
<p>请看我们的下一篇文章:<a href="http://toozhao.com/2011/06/android-%E6%8B%8D%E7%85%A7%E5%B9%B6%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%BA%90%E7%A0%81/">Android 拍照并上传图片到服务器源码</a></p>
</blockquote>
<blockquote>
<blockquote>
</blockquote>
<blockquote>
<p>android端源码和web 端源码:<a target="_blank" rel="noopener" href="http://115.com/file/bevc7e16#uploadsome.rar">http://115.com/file/bevc7e16#uploadsome.rar</a></p>
</blockquote>
<blockquote>
</blockquote>
</blockquote>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/06/15/android-take-photo-and-upload/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/06/15/android-take-photo-and-upload/" class="post-title-link" itemprop="url">Android 拍照并上传图片到服务器源码</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-06-16 00:00:00" itemprop="dateCreated datePublished" datetime="2011-06-16T00:00:00+10:00">2011-06-16</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<blockquote>
<p><strong>更新:我已经把源码共享出来了,大家可以随便下载!</strong></p>
<p>最近帮老师做一个拍照上传的小android 应用。以前虽然看过这方面的东西,但是没有真正做过东西出来,这次老师要求在一个星期左右做出来,其实还是给了我不少压力,于是自己一边学习,一边写代码,同时在望山找了大量的东西,最初都没有解决这个问题。后面才慢慢解决这些问题。</p>
</blockquote>
<p>下面是我写的源码给大家分享一下,说明一下,这些代码是调试完成可以运行的,当然这里没有提出全部的完整代码。如果各位需要的话,给我留言吧,我会通过邮箱发给大家的。 补充servlet端源代码:<a href="http://toozhao.com/2011/06/android%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8server%E7%AB%AFservlet%E6%BA%90%E7%A0%81/" title="android上传图片到服务器server端servlet源码">Android上传图片到服务器Server端servlet源码</a>。这里的程序没有涉及服务器端使用的Servlet代码。稍后在贴出来给大家把。</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 选择拍照上传,获取bitmap 对象,并保存到sdcard中。</span></span><br><span class="line">(takePhoto = (Button) findViewById(R.id.take_photo)) .setOnClickListener(<span class="keyword">new</span> <span class="title class_">OnClickListener</span>() &#123;</span><br><span class="line"><span class="meta">@Override</span> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">onClick</span><span class="params">(View v)</span> &#123;</span><br><span class="line"><span class="comment">//启动相机</span></span><br><span class="line"><span class="type">Intent</span> <span class="variable">myIntent</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Intent</span>( android.provider.MediaStore.ACTION_IMAGE_CAPTURE);</span><br><span class="line">startActivityForResult(myIntent, ACTIVITY_IMAGE_CAPTURE);</span><br><span class="line">&#125; &#125;);</span><br><span class="line"><span class="comment">// 因为调用了startActivityForResult,调用相机后回执行这个方法</span></span><br><span class="line"><span class="meta">@Override</span> <span class="keyword">protected</span> <span class="keyword">void</span> <span class="title function_">onActivityResult</span><span class="params">(<span class="type">int</span> requestCode, <span class="type">int</span> resultCode, Intent data)</span> &#123;</span><br><span class="line"><span class="keyword">if</span> (resultCode == RESULT_OK) &#123;</span><br><span class="line"><span class="comment">//获取bitmap对象</span></span><br><span class="line"><span class="type">Bundle</span> <span class="variable">dataBundle</span> <span class="operator">=</span> data.getExtras();</span><br><span class="line"><span class="type">Bitmap</span> <span class="variable">btp</span> <span class="operator">=</span> (Bitmap) dataBundle.get(<span class="string">&quot;data&quot;</span>);</span><br><span class="line">data.putExtra(MediaStore.EXTRA_OUTPUT, btp);</span><br><span class="line">/ 如果Junv文件夹不存在则创建文件夹,并将bitmap图像文件保存</span><br><span class="line">dir = <span class="keyword">new</span> <span class="title class_">File</span>(ptoDir);</span><br><span class="line"><span class="keyword">if</span> (!dir.exists()) &#123; dir.mkdirs(); Log.d(<span class="string">&quot;创建文件夹&quot;</span>, <span class="string">&quot;。。。。。。。。。。。成功&quot;</span>); &#125;</span><br><span class="line"> <span class="comment">// 为文件随机产生文件名 </span></span><br><span class="line"><span class="type">File</span> <span class="variable">tmpFile</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">File</span>(ptoDir, picName = System.currentTimeMillis() + <span class="string">&quot;.jpg&quot;</span>);</span><br><span class="line">uploadFile = ptoDir + picName;</span><br><span class="line"><span class="keyword">try</span> &#123;</span><br><span class="line"><span class="comment">// 将bitmap转为jpg文件保存</span></span><br><span class="line"><span class="type">FileOutputStream</span> <span class="variable">fileOut</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">FileOutputStream</span>(tmpFile);</span><br><span class="line">btp.compress(CompressFormat.JPEG, <span class="number">100</span>, fileOut);</span><br><span class="line">&#125; <span class="keyword">catch</span> (FileNotFoundException e) &#123;</span><br><span class="line"><span class="comment">//捕获异常</span></span><br><span class="line">Log.d(<span class="string">&quot;File Saving&quot;</span>, <span class="string">&quot;fail.....&quot;</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">// 将照片显示到程序中</span></span><br><span class="line"><span class="type">ImageView</span> <span class="variable">myImage</span> <span class="operator">=</span> (ImageView) findViewById(R.id.show_img);</span><br><span class="line"><span class="comment">//设置图片大小</span></span><br><span class="line">btp = Bitmap.createScaledBitmap(btp, myImage.getWidth() - <span class="number">10</span>, myImage.getHeight() - <span class="number">10</span>, <span class="literal">true</span>);</span><br><span class="line"><span class="comment">//将图片加载到imageView中</span></span><br><span class="line">myImage.setImageBitmap(btp);</span><br><span class="line">myImage.setPadding(<span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>); &#125; <span class="keyword">else</span> &#123; <span class="keyword">return</span>; &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<p>执行完这个方法,我们通过bitmap对象将拍照所得已经显示在程序里面了,然后之所以将其保存为文件,是为了上传的方便。</p>
<p>然后下面是一个上传的图片的方法,大概就是将图片构建成流发送到是、服务器端,这个代码是使用的网上一个前辈的代码,这里不知道他的地址了,但是还是说明一下吧,并表示感谢。</p>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">//上传文件至Server的方法</span></span><br><span class="line"><span class="keyword">private</span> <span class="keyword">void</span> <span class="title function_">uploadFile</span><span class="params">(Bitmap btp)</span> &#123;</span><br><span class="line"> <span class="type">String</span> <span class="variable">end</span> <span class="operator">=</span> <span class="string">&quot;rn&quot;</span>;</span><br><span class="line"> <span class="type">String</span> <span class="variable">twoHyphens</span> <span class="operator">=</span> <span class="string">&quot;--&quot;</span>; </span><br><span class="line"><span class="type">String</span> <span class="variable">boundary</span> <span class="operator">=</span> <span class="string">&quot;*****&quot;</span>;</span><br><span class="line"><span class="keyword">try</span> &#123;</span><br><span class="line"><span class="type">URL</span> <span class="variable">url</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">URL</span>(actionUrl); </span><br><span class="line"><span class="type">HttpURLConnection</span> <span class="variable">con</span> <span class="operator">=</span> (HttpURLConnection) </span><br><span class="line">url.openConnection();</span><br><span class="line"><span class="comment">//允许Input、Output,不使用Cache</span></span><br><span class="line">con.setDoInput(<span class="literal">true</span>);</span><br><span class="line">con.setDoOutput(<span class="literal">true</span>);</span><br><span class="line">con.setUseCaches(<span class="literal">false</span>);</span><br><span class="line"><span class="comment">//设置传送的method=POST</span></span><br><span class="line">con.setRequestMethod(<span class="string">&quot;POST&quot;</span>);</span><br><span class="line"><span class="comment">//setRequestProperty</span></span><br><span class="line">con.setRequestProperty(<span class="string">&quot;Connection&quot;</span>, <span class="string">&quot;Keep-Alive&quot;</span>);</span><br><span class="line">con.setRequestProperty(<span class="string">&quot;Charset&quot;</span>, <span class="string">&quot;UTF-8&quot;</span>);</span><br><span class="line">con.setRequestProperty(<span class="string">&quot;Content-Type&quot;</span>, <span class="string">&quot;multipart/form-data;boundary=&quot;</span> + boundary);</span><br><span class="line"><span class="comment">// 设置DataOutputStream</span></span><br><span class="line"><span class="type">DataOutputStream</span> <span class="variable">ds</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">DataOutputStream</span>(con.getOutputStream());</span><br><span class="line">ds.writeBytes(twoHyphens + boundary + end);</span><br><span class="line">ds.writeBytes(<span class="string">&quot;Content-Disposition: form-data; &quot;</span> + <span class="string">&quot;name=&quot;</span>file1<span class="string">&quot;;</span></span><br><span class="line"><span class="string">filename=&quot;</span><span class="string">&quot; + picName + &quot;</span><span class="string">&quot;&quot;</span> + end); </span><br><span class="line">ds.writeBytes(end);</span><br><span class="line"><span class="comment">//取得文件的FileInputStream</span></span><br><span class="line"><span class="type">FileInputStream</span> <span class="variable">fStream</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">FileInputStream</span>(uploadFile);</span><br><span class="line"><span class="comment">// 设置每次写入1024bytes</span></span><br><span class="line"><span class="type">int</span> <span class="variable">bufferSize</span> <span class="operator">=</span> <span class="number">1024</span>;</span><br><span class="line"> <span class="type">byte</span>[] buffer = <span class="keyword">new</span> <span class="title class_">byte</span>[bufferSize];</span><br><span class="line"><span class="type">int</span> <span class="variable">length</span> <span class="operator">=</span> -<span class="number">1</span>;</span><br><span class="line"><span class="comment">// 从文件读取数据至缓冲区</span></span><br><span class="line"><span class="keyword">while</span> ((length = fStream.read(buffer)) != -<span class="number">1</span>)</span><br><span class="line">&#123;</span><br><span class="line"> <span class="comment">// 将资料写入DataOutputStream中  </span></span><br><span class="line">ds.write(buffer, <span class="number">0</span>, length);</span><br><span class="line"> &#125;</span><br><span class="line">ds.writeBytes(end);</span><br><span class="line">ds.writeBytes(twoHyphens + boundary + twoHyphens + end);</span><br><span class="line"><span class="comment">//close streams</span></span><br><span class="line">fStream.close();</span><br><span class="line">ds.flush();</span><br><span class="line"><span class="comment">// 取得Response内容</span></span><br><span class="line"><span class="type">InputStream</span> <span class="variable">is</span> <span class="operator">=</span> con.getInputStream();</span><br><span class="line"><span class="type">int</span> ch;</span><br><span class="line"><span class="type">StringBuffer</span> <span class="variable">b</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">StringBuffer</span>();</span><br><span class="line"> <span class="keyword">while</span> ((ch = is.read()) != -<span class="number">1</span>) &#123;</span><br><span class="line"> b.append((<span class="type">char</span>) ch); &#125;</span><br><span class="line"><span class="comment">// 将Response显示于Dialog</span></span><br><span class="line">showDialog(<span class="string">&quot;上传成功&quot;</span> + b.toString().trim());</span><br><span class="line"><span class="comment">// 关闭DataOutputStream</span></span><br><span class="line">ds.close();</span><br><span class="line"> &#125; <span class="keyword">catch</span> (Exception e) &#123; </span><br><span class="line">showDialog(<span class="string">&quot;上传失败&quot;</span> + e);</span><br><span class="line"> &#125; &#125;</span><br><span class="line"><span class="comment">// 显示Dialog的method</span></span><br><span class="line"><span class="keyword">private</span> <span class="keyword">void</span> <span class="title function_">showDialog</span><span class="params">(String mess)</span> </span><br><span class="line">&#123; </span><br><span class="line"><span class="keyword">new</span> <span class="title class_">AlertDialog</span>.Builder(<span class="built_in">this</span>).setTitle(<span class="string">&quot;Message&quot;</span>).setMessage(mess) .setNegativeButton(<span class="string">&quot;确定&quot;</span>, <span class="keyword">new</span> <span class="title class_">DialogInterface</span>.OnClickListener() &#123;</span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">onClick</span><span class="params">(DialogInterface dialog, <span class="type">int</span> which)</span> &#123; &#125; &#125;).show();</span><br><span class="line"> &#125;</span><br></pre></td></tr></table></figure>
<p>请看我们的第一篇文章:<a href="http://toozhao.com/2011/06/android%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8server%E7%AB%AFservlet%E6%BA%90%E7%A0%81/">Android上传图片到服务器Server端servlet源码</a></p>
<blockquote>
<p>android端和web 端源码下载:<a target="_blank" rel="noopener" href="http://115.com/file/bevc7e16#uploadsome.rar">http://115.com/file/bevc7e16#uploadsome.rar</a></p>
</blockquote>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/06/02/tortoise-svn-checkout-google-code/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/06/02/tortoise-svn-checkout-google-code/" class="post-title-link" itemprop="url">解决tortoise svn不能checkout Google code</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-06-03 00:00:00" itemprop="dateCreated datePublished" datetime="2011-06-03T00:00:00+10:00">2011-06-03</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p>不知道各位同学使用svn吗?简单说SVN是一个代码版本管理软件,可以让不同的人更新和同步代码,并对代码进行版本管理。现在google code 里面这么多开源项目,都是可以去用SVN checkout 下载下来源代码的,不知道各位有没有尝试呢?</p>
<p>最近在做一个小小的项目的时候用到了SVN,但是当时也发现一个问题,就是tortoise SVN 不能checkout google code 里面的代码。当时用谷歌找了找,可是没发现解决的办法,今天又看到我比较喜欢的google制作的一本电子书——<a target="_blank" rel="noopener" href="http://code.google.com/p/20thingsilearned/">20thingsilearned</a>,里面包含了很多HTML 5和CSS 3特性,而且他还说一个开源项目,说明我们免费的去下载源代码来研究它里面很酷炫的东西。当然也面对了同样的问题,不能checkout.</p>
<blockquote>
<h1 id="Non-members-may-check-out-a-read-only-working-copy-anonymously-over-HTTP"><a href="#Non-members-may-check-out-a-read-only-working-copy-anonymously-over-HTTP" class="headerlink" title="Non-members may check out a read-only working copy anonymously over HTTP."></a>Non-members may check out a read-only working copy anonymously over HTTP.</h1><p> svn checkout <em><strong>http</strong></em>:&#x2F;&#x2F;20thingsilearned.googlecode.com&#x2F;svn&#x2F;trunk&#x2F; 20thingsilearned-read-only</p>
</blockquote>
<p>这是谷歌官方的代码,大概的意思是所有的匿名用户都可以使用下面这个地址进行匿名checkout ,即是不用登陆。不过我试着新建一个文件件,右键,选中tortoise SVN的checkout 选项,还是不行,最终在<a target="_blank" rel="noopener" href="http://superuser.com/questions/44409/cant-checkout-source-from-google-code">国外一个网站</a>找到了解决的办法,即是正确的地址是<em><strong>http</strong></em>:&#x2F;&#x2F;20thingsilearned.googlecode.com&#x2F;svn&#x2F;trunk&#x2F; 去掉后面的那些东西,因为那些东西是为CLI 用户使用的(什么是CLI用户我也不太清楚).总之你使用去掉后面那一块的地址就可以checkout啦。</p>
<p><a href="/images/2011/06/xxx.jpg"><img src="/images/2011/06/xxx.jpg" title="xxx"></a></p>
<p>还有如果你是项目发布者checkout不能弹出提示框要求你输入密码的话,请先这样做,请先选中tortoiseSVN里面的import选项,在里面弹出你的SVN地址,比如我的项目的地址是<a target="_blank" rel="noopener" href="https://moland.googlecode.com/svn/trunk/">https://moland.googlecode.com/svn/trunk/</a> moland username wahyd4。这个回跟上你的项目名称和用户名的。然后就会提示你输入用户名和SVN密码,这个密码是项目里面生成的SNV密码而不是google账户密码哦。然后就会自动import了,然后你就可可以顺利checkout l了、。。</p>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<div class="post-block">
<article itemscope itemtype="http://schema.org/Article" class="post-content" lang="">
<link itemprop="mainEntityOfPage" href="https://toozhao.com/2011/06/01/balsamiq-mockups/">
<span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="image" content="/images/avatar.gif">
<meta itemprop="name" content="Junv">
</span>
<span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="大染志">
<meta itemprop="description" content="分享编程、运维、生活与思考">
</span>
<span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
<meta itemprop="name" content=" | 大染志">
<meta itemprop="description" content="">
</span>
<header class="post-header">
<h2 class="post-title" itemprop="name headline">
<a href="/2011/06/01/balsamiq-mockups/" class="post-title-link" itemprop="url">专业的项目UI原型设计软件——Balsamiq Mockups</a>
</h2>
<div class="post-meta-container">
<div class="post-meta">
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar"></i>
</span>
<span class="post-meta-item-text">发表于</span>
<time title="创建时间:2011-06-02 00:00:00" itemprop="dateCreated datePublished" datetime="2011-06-02T00:00:00+10:00">2011-06-02</time>
</span>
<span class="post-meta-item">
<span class="post-meta-item-icon">
<i class="far fa-calendar-check"></i>
</span>
<span class="post-meta-item-text">更新于</span>
<time title="修改时间:2026-08-04 20:47:21" itemprop="dateModified" datetime="2026-08-04T20:47:21+10:00">2026-08-04</time>
</span>
</div>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<blockquote>
<p>前面我介绍了一款项目UI原型设计软件pencil,之前我以为那个工具已经足够使用,足够方便了,足够强大了。不过上午时候在网上偶然发现原来设计界还有这样一款更加棒的UI原型设计软件——<a target="_blank" rel="noopener" href="http://balsamiq.com/">Balsamiq Mockups</a></p>
</blockquote>
<p>下面着重介绍一些它的优点:</p>
<ul>
<li>支持的平台更多,windowslinux、Mac均支持。</li>
<li>软件包含的设计元素更加丰富,包含10个类别,而且支持将所有元素都变为速写设计的样式,看起来更加像用笔画的(我个人这样粗俗地认为)</li>
<li>对于每个元素可以细节调节的操作和修改更加丰富。</li>
<li>支持多窗口设计</li>
<li>支持想设计导出为PNG、PDF</li>
<li>针对移动设备做了很多很好的工作。</li>
<li>支持将设计导出为html、css、flex文件等</li>
<li>让设计人员使用起来效率更高吧。</li>
</ul>
<p>下面是我刚才花大概15分钟设计的一款一个简单的界面:</p>
<p><a href="/images/2011/06/newMockup.png"><img src="/images/2011/06/newMockup.png" title="newMockup"></a>因此大家可以知道,这款软件的设计效率的确不是吹的,虽然这个界面很简单,不过我个人觉得还是很不错啦。</p>
<p>当然既然有这么多优点,所有它也就理所当然是一款商业软件。目前<a target="_blank" rel="noopener" href="http://balsamiq.com/buy">购买这个软件</a>需要$79美元,才可以获得完整的功能,当然还可以团队购买,会稍微便宜一些。</p>
<blockquote>
<p><del>不过对于中国的同学来说,这么贵的软件购买还是比较不太现实。因此还好它有这样一个比较可行的免费获得软件的方式:如果你是技术&#x2F;软件博客作者或者记者,那么你写一篇博客来进行推广和宣传他们的这款软件也是可以的。因此我便选择了这种方式。</del></p>
<p>最新消息:昨天这个软件商发给我一封邮件,说他们已经不再提供给博客作者的免费的授权了。看来这种方法是得不到了,大家还是去用免费的软件吧。。</p>
</blockquote>
<p>当然它还有免费的在线版本供大家使用,或者下载试用版本!</p>
<p>希望各位都去试试吧!</p>
<blockquote>
<p>Mockups官方网站:<a target="_blank" rel="noopener" href="http://balsamiq.com/">http://balsamiq.com/</a></p>
<p>Mockups下载:<a target="_blank" rel="noopener" href="http://balsamiq.com/download">http://balsamiq.com/download</a></p>
<p>网盘下载:<a target="_blank" rel="noopener" href="http://u.115.com/file/e6cw57q3%EF%BC%88%E6%9C%AA%E6%B3%A8%E5%86%8C%E7%89%88%E6%9C%AC%EF%BC%8C%E5%8F%AF%E8%AF%95%E7%94%A87%E5%A4%A9%EF%BC%8C%E5%AF%BC%E5%87%BA%E7%AD%89%E5%8A%9F%E8%83%BD%E5%8F%97%E9%99%90%EF%BC%89">http://u.115.com/file/e6cw57q3(未注册版本,可试用7天,导出等功能受限)</a></p>
</blockquote>
</div>
<footer class="post-footer">
<div class="post-eof"></div>
</footer>
</article>
</div>
<nav class="pagination">
<a class="extend prev" rel="prev" title="上一页" aria-label="上一页" href="/page/8/"><i class="fa fa-angle-left"></i></a><a class="page-number" href="/">1</a><span class="space">&hellip;</span><a class="page-number" href="/page/8/">8</a><span class="page-number current">9</span><a class="page-number" href="/page/10/">10</a><span class="space">&hellip;</span><a class="page-number" href="/page/31/">31</a><a class="extend next" rel="next" title="下一页" aria-label="下一页" href="/page/10/"><i class="fa fa-angle-right"></i></a>
</nav>
</div>
</main>
<footer class="footer">
<div class="footer-inner">
<div class="copyright">
&copy; 2012
<span itemprop="copyrightYear">2026</span>
<span class="with-love">
<i class="fa fa-heart"></i>
</span>
<span class="author" itemprop="copyrightHolder">Junv</span>
</div>
<div class="powered-by"><a href="https://hexo.io/" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/muse/" rel="noopener" target="_blank">NexT.Muse</a> 强力驱动
</div>
</div>
</footer>
<div class="toggle sidebar-toggle" role="button">
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</div>
<div class="sidebar-dimmer"></div>
<div class="back-to-top" role="button" aria-label="返回顶部">
<i class="fa fa-arrow-up fa-lg"></i>
<span>0%</span>
</div>
<div class="reading-progress-bar"></div>
<a role="button" class="book-mark-link book-mark-link-fixed"></a>
<noscript>
<div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>
<script>
/* 字号调节 A- / A / A+(阅读体验) */
(function () {
'use strict';
function initFontSize() {
var postBody = document.querySelector('.post-body');
if (!postBody || document.getElementById('font-size-control')) return;
var bar = document.createElement('div');
bar.id = 'font-size-control';
bar.className = 'font-size-control';
var labels = [['A-', -1], ['A', 0], ['A+', 1]];
var current = 1.0;
labels.forEach(function (item) {
var btn = document.createElement('button');
btn.textContent = item[0];
btn.title = item[0] === 'A-' ? '减小字号' : item[0] === 'A+' ? '增大字号' : '恢复默认';
btn.addEventListener('click', function () {
if (item[1] === 0) current = 1.0;
else current = Math.min(1.4, Math.max(0.8, current + item[1] * 0.1));
postBody.style.fontSize = current + 'em';
});
bar.appendChild(btn);
});
document.body.appendChild(bar);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initFontSize);
} else {
initFontSize();
}
})();
</script>
</body>
</html>